Como remover, copiar ou renomear um arquivo usando Perl
Muitas pessoas que vem do mundo da administração de sistemas e da confecção de scripts Unix ou Linux, tentarão continuar usando os comandos unix básicos tais como rm, cp e mv para tais operações, executando-os com a crase ou com a chamada system, mesmo que estejam escrevendo script em Perl.
Isso funciona em sua plataforma corrente, mas também abre mão de um dos benefícios cruciais que o Perl trouxe para o mundo da administração de sistemas Unix.
Vejamos como podemos executar essas operações usando o Perl de uma maneira que seja independente de plataforma e sem recorrer ao shell.
Remover
O nome da respectiva função em Perl é unlink.
Ela remove um ou mais arquivos do sistema de arquivos. É similar ao comando rm no Unix ou ao del no Windows.
unlink $file; unlink @files;
Esta função usa $_, a variável padrão do Perl (em inglês) se nenhum parâmetro é fornecido.
Para ver a documentação completa acesse perldoc -f unlink.
rename
Renomea ou move um arquivo. É semelhante ao comando mv no Unix e ao rename no DOS/Windos.
rename $old_name, $new_name;
Como isto nem sempre funciona em todos os sistemas de arquivos, a alternativa recomendada é a função move do módulo File::Copy:
use File::Copy qw(move); move $old_name, $new_name;
Documentação (em inglês):
Copiar
Não existe uma função do Perl para copiar. A maneira padrão de copiar um arquivo é através da função copy do módulo File::Copy.
use File::Copy qw(copy); copy $old_file, $new_file;
Ele é semelhante ao comando cp no Unix e ao comando copy no Windows.
Para ver a documentação visite perldoc File::Copy.
Published on 2013-05-30