[Cascavel-pm] Diferentes maneiras de usar o comando open

Daniel Ruoso daniel em ruoso.com
Quarta Julho 8 11:22:46 PDT 2009


Em Ter, 2009-07-07 às 18:19 -0300, Ari Arantes escreveu:
> Pessoal,
> Pesquisando, encontrei 2 maneiras de usar o comando open:
> open(LOG,"tail -F /var/log/maillog |");
> e
> open(LOG,"-|", "tail -F /var/log/maillog");
> Qual é a diferença? Qual é melhor?

Complementando a resposta do Eden, usar o open com três argumentos é
mais seguro porque ele não permite que uma eventual interpolação de
variáveis no nome do arquivo faça com que coisas esquisitas aconteçam...
por exemplo...

 my $file_name = <STDIN>;
 open my $file, $file_name or die $!;

Se eu digitar no stdin

 >/tmp/bla

ele vai criar um arquivo, mesmo que, a princípio, pelo código fonte,
parecesse que voce estava somente fazendo leitura.

Quando você usa com três argumentos, isso não é possível...


daniel



Mais detalhes sobre a lista de discussão Cascavel-pm