in reply to Re^2: Problems with map(function, array)
in thread Problems with map(function, array)
Your original code with strict and warnings:
gives the warning "Use of uninitialized value $_[0] in multiplication (*) at map1.pl line 3".use strict; use warnings; sub twice { 2 * $_[0] } my @a = map twice, 1..3; print "@a\n";
This is how it should be written:
which produces 2 4 6 as expected.use strict; use warnings; sub twice { 2 * $_[0] } my @a = map twice($_), 1..3; print "@a\n";
BTW, Conway, in Perl Best Practices, chapter 8, recommends always using the block form of map, not the expression form that you are using. The expression form might be faster than the block form though (if that matters, you should benchmark it).
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Problems with map(function, array)
by Redei (Initiate) on Dec 12, 2012 at 13:58 UTC |
In Section
Seekers of Perl Wisdom