package Foo; ... sub sort(&) { my $self = shift; my $code = \&{shift @_}; sort $code @{$self->{arrayref}}; } my $foo = Foo->new; ... $foo->sort({ lc($a) cmp lc($b) });