[Cascavel-pm] Res: Perl

Breno G. de Oliveira breno em clavis.com.br
Sábado Novembro 25 08:37:00 PST 2006


Ramon,

ao pedir ajuda, tente nos ajudar tb! Por exemplo:

"...porém no vetor ele dá erro. o que pode ser?"

por que não nos diz exatamente QUAL a mensagem de erro que ele está
dando? Isso certamente vai nos ajudar a te ajudar!

Nesse caso específico, vc está usando stricts (parabéns), e o seu código
precisaria declarar a variável @arqs:

my @arqs = <arquivo>;
^^

veja se não é isso... outra coisa, acho que é uma boa prática usar
palavras em minúsculas como handles de arquivos. Fica fácil diferenciar
handles de palavras reservadas se colocá-los em maiúsculas, por exemplo
(e diminui a possibilidade de conflitos no futuro).

[]s

breno


Ramon Mendes wrote:
> heheh... valeu mesmo cara.. vou tentar aqui..
> Mas aqui estou com problema para poder declarar a matriz com o arquivo..
> vou te mostrar o fonte de exemplo que estou tentando abrir o arquivo e
> está ocorrendo erro.
> 
> #!/usr/bin/perl
> 
> use warnings;
> use strict;
> open (arquivo, "<esportes.txt" ) or die "Nao consegui abrir esportes.txt";
> @arqs=<arquivo>;
> ...
> 
> Ai da erro nesta linha, ele consegue abrir o arquivo porém no vetor ele
> da erro. o pode ser?
> 
> 
> 
>  
> _________________
> Ramon M. de Souza
> soulhave em yahoo.com.br
> Bacharelando em Sistemas de Informação
> 
> 
> ----- Mensagem original ----
> De: Wendel Scardua <wendelscardua em gmail.com>
> Para: Cascavel Perl Mongers <cascavel-pm em pm.org>
> Enviadas: Sábado, 25 de Novembro de 2006 11:56:33
> Assunto: Re: [Cascavel-pm] Perl
> 
> 
> 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
> 
> 
> ------------------------------------------------------------------------
> Yahoo! Search
> Música para ver e ouvir: You're Beautiful, do James Blunt
> <http://us.rd.yahoo.com/mail/br/tagline/search/video/*http://br.search.yahoo.com/search/video?p=james+blunt&ei=UTF-8&cv=g&x=wrt&vm=r&fr=intl-mail-br-b>
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> 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