for my $i ( 0..(@a < @b ? $#a : $#b) ) { return $a[$i] <=> $b[$i] if ( $a[$i] =~ $NUMBER_ONLY_REGEX and $b[$i] =~ $NUMBER_ONLY_REGEX and $a[$i] != $b[$i] ); return $a[$i] cmp $b[$i] if ( $a[$i] ne $b[$i] ); } return $a cmp $b; #### if ( condition1() ) { do_first_thing(); goto ENDIF_1; } if ( $undeclared_scalar = condition2() ) { do_second_thing(); do_something_else(); goto ENDIF_1; } { do_default_thing(); $other_default_work = even_with_typos; } ENDIF_1: # and now back to our regular programming...