On Thursday, April 18, 2002, at 06:05 , Felix Geerinckx wrote:

> on Thu, 18 Apr 2002 12:56:43 GMT, [EMAIL PROTECTED] (Richard Noel Fell)
> wrote:
>
>> However, I do not understand your
>> comments about the return value of map. Does not map return a
>> reference to an anonymous arrar, not a hash?
>
> 'map' returns a *list*.

hence

        map {[ 'cascade', '~'.$_]} @sub_directories;

as the last line of the sub should have returned a 'list'
back to the caller just as the

        sub foo { qw/ 1 2 3 4 5 6 7 8 9 / } ;

would return a 'list' ???

or should he have coerced it foist:

        @array = map {[ 'cascade', '~'.$_]} @sub_directories;

        @array ; # our default return

  } # end of this function

( ????? )

> This list can be coerced into an array or into a
> hash (if it has an even number of elements). It's the same as literal
> list assigment; you can both do:
>
>       @array = (1,2,3,4);
>       %hash  = (1,2,3,4);
>
> Also
>
>       @array = (1,2,3);
>       
> But not (gives an 'Odd number of elements in hash assignment' error):
>
>       %hash = (1,2,3);
>

good Point! I guess I have always seen map, when used with has
in the classic form

         %hash = map { doFooFunk($_) => $_ } @array;

and have never seen it in the form of

        @chars = map(chr, @nums);


so had never paused to 'think it through'.


ciao
drieux

---


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

Reply via email to