On Sun, Jan 18, 2015 at 07:24:21PM -0500, Shawn H Corey wrote: > my @line = ( > @first[rand(@first)], > @second[rand(@second)], > @third[rand(@third)], > );
Sorry to beat on you, Shawn, but I missed this the first time
around. Those should probably be:
my @line = (
$first[rand @first)],
$second[rand @second)],
$third[rand @third)]]
);
The use of the @ sigil for dereferencing an array is meant to
grab a slice of the array, not a single element. The warnings
pragma will warn you about this:
perl -Mwarnings -e 'my @x = (1..10); print @x[4], "\n";' said:
> Scalar value @x[4] better written as $x[4] at -e line 1.
> 5
And with that, it should be emphasized to always use the strict
and warnings pragmas. :)
Regards,
--
Brandon McCaig <[email protected]> <[email protected]>
Castopulence Software <https://www.castopulence.org/>
Blog <http://www.bambams.ca/>
perl -E '$_=q{V zrna gur orfg jvgu jung V fnl. }.
q{Vg qbrfa'\''g nyjnlf fbhaq gung jnl.};
tr/A-Ma-mN-Zn-z/N-Zn-zA-Ma-m/;say'
signature.asc
Description: Digital signature
