my @vars = (7, 12, 49, 44); sub bubble_sort { my $rfunc = shift; for my $i (1 .. $#vars) { for my $j (0 .. $i-1) { if (&($rfunc)($vars[i], $vars[j])) { my $t=$vars[i]; $vars[$i]=$vars[$j]; $vars[$j]=$t; } } } }