NetWallah has asked for the wisdom of the Perl Monks concerning the following question:
The following 2 items produce the desired result:
~$ perl -E 'my @x=({uno=>'one'},{dos=>'two'},{tres=>'three'}); map {sa +y} keys %$_ for @x'
But if I try to apply 'for' to the result of 'keys' (at least that is my intent), I get:~$ perl -E 'my @x=({uno=>'one'},{dos=>'two'},{tres=>'three'}); say ke +ys %$_ for @x'
Using a more verbose, structured 'for' works fine, and is more readable, but I'm curious as to what the syntax error is trying to tell me, and if there is a concise way to accomplish this.~$ perl -E 'my @x=({uno=>'one'},{dos=>'two'},{tres=>'three'}); say for + keys %$_ for @x' syntax error at -e line 1, near "$_ for "
I know I could do 'say keys ..' as in the second case, but what if I wanted to process each key, one at a time ?
My goal ... to kill off the slow brain cells that are holding me back from synergizing my knowledge of vertically integrated mobile platforms in local cloud-based content management system datafication.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Syntax error in Nested for
by Athanasius (Archbishop) on Jul 03, 2013 at 03:07 UTC | |
by NetWallah (Canon) on Jul 03, 2013 at 03:17 UTC | |
|
Re: Syntax error in Nested for
by Laurent_R (Canon) on Jul 03, 2013 at 11:57 UTC | |
by Lawliet (Curate) on Jul 03, 2013 at 12:09 UTC | |
by Laurent_R (Canon) on Jul 03, 2013 at 13:01 UTC |