in reply to Re^3: just how special are $a and $b these days?
in thread just how special are $a and $b these days?
This does:
Not really. That only works for the special case where you are performing your sort in main::. It doesn't work if you are in yet another package.
In other words, this fails:
package backwards; sub pmc { $::b cmp $::a }; package blah; sub foo { print for sort backwards::pmc ( split /\s+/, `cat $0` ) } package main; blah::foo();
The right way to do it is to prototype your comparator function with ($$) and to use @_ thusly:
package backwards; sub pmc($$) { $_[1] cmp $_[0] }; package blah; sub foo { print for sort backwards::pmc ( split /\s+/, `cat $0` ) } package main; blah::foo();
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: just how special are $a and $b these days?
by BrowserUk (Patriarch) on Mar 04, 2010 at 23:36 UTC |