sub bubble { my @array = @{ $_[0] }; for( my $i = $#array; $i; $i-- ) { for( my $j = 1; $j <= $i; $j++ ) { @array[$j, $j-1] = @array[$j-1, $j] if( $array[$j-1] > $array[$j] ); } } return \@array; } my $aRef = [ 2, 4, 3, 5, 1 ]; my $aSortedRef = bubble( $aRef ); print "@{$aRef}$/"; print "@{$aSortedRef}$/";