[Cascavel-pm] Perl
Breno G. de Oliveira
breno em clavis.com.br
Sábado Novembro 25 08:43:05 PST 2006
uia, wendel++ ;)
Não é todo mundo que tem paciência pra escrever tanto sobre @ARGV, e sem
indicar os "how to ask a question" e "how not to ask a question".
[]s
breno
Wendel Scardua wrote:
>
> On 11/25/06, *Ramon Mendes* <soulhave em yahoo.com.br
> <mailto:soulhave em yahoo.com.br>> wrote:
>
> Bom dia a todos.
> Gostaria de saber se alguem pode me ajudar
> com um trabalho em PERL.. Estou precisando ler um arquivo..
>
>
> Vai ser difícil, acho que o povo por aqui sabe mais de "Perl"... mas se
> esse tal "PERL" for parecido... :-)
>
>
> usando argumentos como parametro blz..
> da seguinte forma..
>
> perl programa.pl parametro1 parametro2 parametro3
>
>
>
> O script recebe os argumentos num array chamado @ARGV (no caso, @ARGV
> é (parametro1, parametro2, parametro3);
>
> Em Perl, existem 1000 maneiras de lidar com argumentos, invente uma! (ou
> isso era o Neston ? ah, sei lá)
>
> Você pode escrever:
> my $arquivo = $ARGV[0];
> my $modo = $ARGV[1];
> my $quantidade = $ARGV[2];
>
> Também pode escrever:
> my $arquivo = shift @ARGV; # isso remove o primeiro elemento da lista,
> como uma fila
> my $modo = shift @ARGV;
> my $quantidade = shift @ARGV;
>
> Mas, o meu favorito é esse:
>
> my ($arquivo, $modo, $quantidade) = @ARGV;
> # my ($fulano, $sicrano, $beltrano) = (4,8,15,16,23,42); faz com que
> $fulano = 4; $sicrano = 8; $beltrano = 15;
> # o resto vai pro limbo :-)
>
> Ainda recomendaria que, antes de usar o conteúdo de @ARGV, verifique se
> ele tem mesmo 3 elementos; por exemplo:
>
> if (@ARGV != 3) {
> print "Usuário lesado não passou parâmetros certos!\n";
> print "Uso: perl $0 arquivo modo quantidade\n";
> exit 1;
> }
>
> --
> []s
> Wendel
>
> "Não ajustar o auto-ajuste" - http://wendel.scardua.net/
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
Mais detalhes sobre a lista de discussão Cascavel-pm