(...)[0]
возвращает первый элемент списка внутри скобок.
Таким образом, ваш пример фактически такой же, как:
sub min{
my @tmp = sort { $a <=> $b } @_; # sort numerically
$tmp[0];
}
или
sub min{
my ($return) = sort { $a <=> $b } @_; # sort numerically
$return;
}
Я хотел бы отметить еще одну вещь, приведенный выше код крайне неэффективен.Особенно в больших несортированных списках.
Вот более разумный подход:
sub min{
$min = shift;
for( @_ ){
$min = $_ if $_ < $min;
}
return $min;
}
Это в основном тот же алгоритм, который используется для Pure Perl версии min
в List :: Util .
Вы действительно должны просто использовать min
из List :: Util .