Trabalhando com arquivos no Perl
Aqui venho mostrar de forma direta como trabalhar com arquivos e permissões no Linux usando Perl.
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
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:
"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.
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;
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:$!";
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br