Trabalhando com arquivos no Perl

Aqui venho mostrar de forma direta como trabalhar com arquivos e permissões no Linux usando Perl.

[ Hits: 42.066 ]

Por: C00L3R_ em 04/09/2008 | Blog: https://github.com/CoolerVoid


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:$!";

    Próxima página

Páginas do artigo
   1. Direto ao ponto
   2. Escrever num documento com Perl
   3. Mais algumas funções e conclusão
Outros artigos deste autor

Usando OpenBSD como desktop

Apache + PHP + MySQL + ftpd no OpenBSD

Usando o NetBSD como desktop

Banco de dados orientados a documentos

Buffer Overflow: Entendendo e explorando

Leitura recomendada

Decodificando filmes do programa "3w player"

Introdução a CGI com a RFC 3875

Gerenciando redes com Perl e SNMP

Configurando OTRS com PSGI/Plack e executando com Starman

Impressão remota via WEB

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts