<br><div><span class="gmail_quote">On 11/25/06, <b class="gmail_sendername">Ramon Mendes</b> <<a href="mailto:soulhave@yahoo.com.br">soulhave@yahoo.com.br</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div>Bom dia a todos.<br>Gostaria de saber se alguem pode me ajudar<br>com um trabalho em PERL.. Estou precisando ler um arquivo.. </div>
</div></div></blockquote><div><br>Vai ser difícil, acho que o povo por aqui sabe mais de "Perl"... mas se esse tal "PERL" for parecido... :-)<br> </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div>usando argumentos como parametro blz.. <br>da seguinte forma.. <br><br>perl programa.pl parametro1 parametro2 parametro3</div></div>
</div></blockquote><div><br></div></div><br>O script recebe os argumentos num array chamado @ARGV (no caso, @ARGV é (parametro1, parametro2, parametro3);<br><br>Em Perl, existem 1000 maneiras de lidar com argumentos, invente uma! (ou isso era o Neston ? ah, sei lá)
<br><br>Você pode escrever:<br><span style="font-family: courier new,monospace;">my $arquivo = $ARGV[0];</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">my $modo = $ARGV[1];
</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">my $quantidade = $ARGV[2];</span><br style="font-family: courier new,monospace;"><br>Também pode escrever:<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
my $arquivo = shift @ARGV; # isso remove o primeiro elemento da lista, como uma fila</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">my $modo = shift @ARGV;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">my $quantidade = shift @ARGV;</span><br><br>Mas, o meu favorito é esse:<br><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
my ($arquivo, $modo, $quantidade) = @ARGV;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"># my ($fulano, $sicrano, $beltrano) = (4,8,15,16,23,42); faz com que $fulano = 4; $sicrano = 8; $beltrano = 15;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"># o resto vai pro limbo :-)</span><br><br>Ainda recomendaria que, antes de usar o conteúdo de @ARGV, verifique se ele tem mesmo 3 elementos; por exemplo:
<br><br><span style="font-family: courier new,monospace;">if (@ARGV != 3) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> print "Usuário lesado não passou parâmetros certos!\n";
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> print "Uso: perl $0 arquivo modo quantidade\n";</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> exit 1;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">}</span><br><br>-- <br>[]s<br>Wendel<br><br>"Não ajustar o auto-ajuste" -
<a href="http://wendel.scardua.net/">http://wendel.scardua.net/</a>