in reply to Re^2: Sort mechanics problems with objects and potentially contradicting comparisons (would cause infinite loop)
in thread Sort mechanics problems with objects and potentially contradicting comparisons (would cause infinite loop)
and see if I still get $a and $b for free
You can get at them:
use warnings; use strict; { package Bar; my $obj = Foo->new; print join ", ", sort {$obj->mysort($a,$b,"bar")} qw/x a o/; } { package Foo; sub new { bless {}, shift } use Data::Dump 'pp'; sub mysort { pp \@_; $_[0] cmp $_[1]; } } __END__ [bless({}, "Foo"), "x", "a", "bar"] [bless({}, "Foo"), "x", "o", "bar"] [bless({}, "Foo"), "o", "a", "bar"] x, o, a
Updated example: Previously I had mysort reaching into the main package via $::a, which is obviously not the best solution, now I'm passing $a and $b as parameters. (I see the AM made the same suggestion.) Update 2: There are other solutions possible as well.
Hope this helps,
-- Hauke D
|
|---|