On Tuesday, April 16, 2002, at 04:15 , David Gray wrote:

Another INSANE, but actually useful, illustration from Jenda:
{ how does he pop them out? }
>> Example:
>>
>>      sub foo { (0,1,2,3,4,5,6,6,8,9) };
>>
>>      (undef,undef,undef,undef,@a1) = foo();
>>      @a2 = (foo())[4];
>>
>>      print join(", ", @a1),"\n";
>>      print join(", ", @a2),"\n";
>
> Oh, hehe, right... Silly me!
>
>  -dave

p0: given that few hosts are 'double/multi homed' such that
they will actually return multiple IP_ADDR - the
cheat is not a bad idea. # As long as you comment it that way.

p1: hence it follows that picking out a given scalar from
a return in the form

        my $one_answer = (funkCall(@argList))[$thatArg] ;

is actually a COOL idea for all of those

        my ($var1, $var2, $j, $k, .... ) =
                funk_with_large_list_return(@argList) ;

where you only wanted the one element...
# as long as appropriately commented

p2: So I thought I would posit the following:
        #!/usr/bin/perl -w
        use strict;

        sub foo {
         my @list = (0,1,2,3,4,5,6,6,8,9)  ;
         my @front = qw/bob fred alice 2/;

         return( @front, \@list );
        }
        my (undef,undef,undef,undef,@a1) = foo();
        my @a2 = (foo())[4];
         print join(", ", @a1),"\n";
         print "@a2 \n";


which I thought would pass the @list though and
mostly gets me there but:

vladimir: 73:] ./jenda.pl
ARRAY(0x1273c4)
ARRAY(0x135534)
vladimir: 74:]

so I know it's an ARRAY - how do I get into it?


ciao
drieux

---


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to