#!/usr/bin/perl -- use strict; use warnings; use Data::Dump qw/ dd /; { package Foo; sub Foo::comp { $b <=> $a } } { package Oof; sub Oof::comp { $::b <=> $::a } } sub pomc { $b <=> $a } dd( [ sort { pomc() } 1..10 ] ); dd( [ sort { Foo::comp() } 1..10 ] ); { my @f = 1..10; my $cb = \&Foo::comp; dd( [ sort $cb @f ] ); $cb = \&pomc; dd( [ sort $cb @f ] ); $cb = \&Oof::comp; dd( [ sort $cb @f ] ); } __END__