Pular para o conteúdo

Trabalhando com arquivos no Perl

Aqui venho mostrar de forma direta como trabalhar com arquivos e permissões no Linux usando Perl.
C00L3R_ Cooler_
Hits: 43.649 Categoria: Perl Subcategoria: Manipulação de Arquivos
  • Indicar
  • Impressora
  • Denunciar

Direto ao ponto

Muitos usam Perl apenas para CGI e nem imaginam o que dá para fazer com ele, :D ou seja, só usam para Web.

Bem, aqui venho mostrar como abrir, ler, renomear e alterar permissões de arquivos, dentre outras funções, em Perl. Assim, quem sabe você usa Perl para outras coisas. lol

Abrindo e fechando um documento com Perl

Muito simples, usando a função "open" podemos fazer isso, como no exemplo:

open (my $arquivo, "<$texto") or die "Não foi possível abrir o $texto:$!";
    while (<$arquivo>) {
        if ($_ =~ /http:\/\//) { print "Possível link\n $_ \n"; }
    }
close $arquivo;

Explicando: foi aberta a variável "$texto", que pode ser um documento qualquer fornecido pelo usuário, para leitura. Logo depois tem um "loop" com "while", ou seja, enquanto tiver linhas no documento ele vai continuar lendo. Depois tem uma expressão regular simples que acha links e imprime.

"Agora tô com medo! Por que tem sinal de menor?" (my $arquivo "<$texto")

Vejamos:
  • ARQUIVO: abre ARQUIVO apenas para leitura (o mesmo que <ARQUIVO);
  • >ARQUIVO: abre ARQUIVO para escrita, criando-o caso não exista;
  • >>ARQUIVO: abre ARQUIVO para modificação (append);
  • +>ARQUIVO: abre ARQUIVO para leitura/escrita.

"Por que você colocou o "die"?"
Bem, no caso o comando "die" é para imprimir na tela caso o documento não seja encontrado pelo o programa. Pode ser usado "warn" também.

Quanto a expressão "or", nós poderíamos substituir pela expressão lógica "||", que seria a mesma coisa, ficando mais elegante.

open (my $arquivo, "<$texto") || warn "Não foi possível abrir $texto:$!";

   1. Direto ao ponto
   2. Escrever num documento com Perl
   3. Mais algumas funções e conclusão

Banco de dados orientados a documentos

Buffer Overflow: Entendendo e explorando

Bind: Explorando e evitando falhas

Ponteiros - Saindo de Pesadelos

Apache + PHP + MySQL + ftpd no OpenBSD

Decodificando filmes do programa "3w player"

Gerenciando redes com Perl e SNMP

Perl e MySQL

Configurando OTRS com PSGI/Plack e executando com Starman

Impressão remota via WEB

#1 Comentário enviado por grandmaster em 04/09/2008 - 21:54h
Legal. Mas quanto mais eu leio coisas em Perl mais eu não entendo :D

Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br
#2 Comentário enviado por albertguedes em 05/09/2008 - 13:40h
opa opa opa, impressão minha ou PERL está voltando a tona ?
Espero que sim porque PERL é uma excelente linguagem, não vejo motivos para alguém não usá-la.
Valeu Tony.
#3 Comentário enviado por cesar em 08/09/2008 - 13:39h
Bacana, mas como o amigo aí de cima disse, hauha não entendo nada de Perl, complicaadoo, hauha

[]'s
#4 Comentário enviado por SMarcell em 15/09/2008 - 01:58h
POGers de todo o mundo, uni-vos!

-------
Bacana, mas como o amigo aí de cima disse, hauha não entendo nada de Perl, complicaadoo, hauha
-------

Comeceie a conhecer Perl a poucas semanas e como não sou programador profissional (apenas um entusiasta meia-boca!), acho ele bastante parecido com shell script, o que facilita bastante as coisas já que tenho um conhecimento mediano em shell.

=)

Contribuir com comentário

Entre na sua conta para comentar.