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.