RES: [Cascavel-pm] Funções com argumentos de arrays

Marcelo Stella marcelo em stella.eng.br
Sexta Janeiro 6 11:37:43 PST 2006


Senhores,

Para facilitar:

@array = qw ( x y z );
$ref = \@array; # $ref é um escalar que armazena o ponteiro para o array
real...

print $array[0]."\n";
print $$ref[0]."\n";
print ${$ref}[0]."\n"; # desta forma evita confusões de interpretação pelo
perl...

[]'s
Marcelo Stella





-----Mensagem original-----
De: cascavel-pm-bounces em pm.org [mailto:cascavel-pm-bounces em pm.org] Em nome
de Alceu R. de Freitas Jr.
Enviada em: sexta-feira, 6 de janeiro de 2006 14:34
Para: Cascavel Perl Mongers
Assunto: RE: [Cascavel-pm] Funções com argumentos de arrays

Oi,

Você não criou as referências de forma correta:

# perl
@a  = qw( a1 a2 a3 b1 b2 b3 );
@b  = qw( x1 w1 v1 );

print "@a"."\n em b\n\n" ;

minha_funcao( \@a, \3, \@b);

sub minha_funcao(\@, \$,\@){
	
	my( $arr_ref1, $scalar, $arr_ref2 ) = @_;
        print "\narray= ";
        foreach ( @{$arr_ref1} ) { print; } 
        print "\nlugar = ";
        foreach ( ${$scalar} ) { print; }
        print "\nelementos = ";
        foreach ( @{$arr_ref2} ) { print; }
        print "\n";

} 

--- Brinde Storm - Steven Koch
<s.koch em brindestorm.com> escreveu:

> Digamos então: 
> <perl>
> @a  = ('a1','a2','a3','b1','b2','b3');
> @b  = ('x1','w1','v1');
> 
> print "@a"."\n em b\n\n" ;
> 
> minha_funcao(@a, 3, @b);
> 
> sub minha_funcao(\@, \$,\@ ){
> 	my( $arr_ref1, $scalar, $arr_ref2 ) = @_;
> 
> print "\n 
> array= @{$arr_ref1} \n
> lugar = ${$scalar} \n
> elementos = @{$arr_ref2}
> \n";
> } 
> </perl>
> 
> Mas não imprime nada



	



	
		
_______________________________________________________ 
Yahoo! doce lar. Faça do Yahoo! sua homepage. 
http://br.yahoo.com/homepageset.html 

_______________________________________________
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