Vamos tentar com "POG".
system("echo \"@seu_texto\" >> resultado.txt");
Muito ruim de ver este código não? Vamos usar a forma certa, sem "POG":
open (OUT, ">>texto.txt");
print OUT "$numero\n";
close(OUT);
No exemplo eu só usei um número para imprimir num documento, ou seja, ele abre para modificação ">>" e imprime a variável ($numero) no documento.
Testar se o documento existe com Perl
Isso é muito simples, vamos usar a expressão "-e nome_arquivo". Exemplo:
if (-e "index.html" && -e "index.cgi") {
print "Você tem as duas index: html e cgi\n";
}
Muito simples, o que tem de diferente aí é a expressão booleana "&&", que interpretamos como "tal elemento e tal elemento". Isso deixa o código mais rico e mais limpo.
Vamos ver esta balela para entender melhor:
- -r: arquivo ou diretório para leitura;
- -w: arquivo ou diretório para escrita;
- -x: arquivo ou diretório para executar;
- -o: arquivo ou diretório que pertence a um usuário;
- -R: arquivo ou diretório legível para um usuário;
- -W: arquivo ou diretório para escrita para um usuário;
- -X: arquivo ou diretório para executar para um usuário;
- -O: arquivo ou diretório de um usuário;
- -e: testa a existência de um diretório ou arquivo;
- -z: testa a existência se tiver nada no arquivo;
- -s: testa a existência do arquivo ou diretório se tiver mais do que 0 de tamanho.
Faltam mais elementos, isso você encontra facilmente na internet.
Usando o "stat"
O "stat" pode ser usado para mostrar para o Perl onde está o diretório que você está trabalhando algumas variáveis, exemplo:
(@lista_documentos) = (stat("/home/você/teste"))[1,2];
Explicando o código, colocando o stat dentro do array estou mostrando que os arquivos 1 (da primeira linha) e 2 (segunda linha) estão em "/home/você/este". O "stat" e o "lstat" podem ser usados como links simbólicos também.