Pathologically Eclectic Rubbish Lister | |
PerlMonks |
Re:x3 Assign a reference to a non referenceby grinder (Bishop) |
on Oct 03, 2002 at 14:02 UTC ( [id://202520]=note: print w/replies, xml ) | Need Help?? |
You just can't do it. Look at it from the other end, you're trying to return two lists. To assign them to two variables without using a temporary you must do a listwise assignment of the returned values. This means your code is going to look something like
But that doesn't work with Perl, the two lists are flattened, and the first variable is in a winner-take-all situation. @bar gets nothing. At first I thought it was simply a matter of coercing on the fly
But that still doesn't work. To understand, have a look at what adding the following does:
There is a way around the problem of course, and that is to use references henceforth:
This will do what you want, at the expense of having to dereference via ->. This may or may not be a problem to retrofit into your project. print@_{sort keys %_},$/if%_=split//,'= & *a?b:e\f/h^h!j+n,o@o;r$s-t%t#u'
In Section
Seekers of Perl Wisdom
|
|