Perl работает так же, как почти любой другой язык программирования.В операторе присваивания значение в правой части оператора присваивается переменной в левой части оператора.Таким образом, в таком выражении, как:
$one = $big;
Вы присваиваете значение $big
переменной $one
.Как уже указывалось в комментарии, это неправильный путь, и вы действительно хотели:
$big = $one;
Есть несколько более простых подходов, которые вы можете использовать.Во-первых, вы можете отсортировать список чисел, а затем взять первый и последний элементы из списка:
my @sorted = sort { $a <=> $b } ($one, $two, $three, $four);
my ($small, $big) = @sorted[0, $#sorted];
Или вы можете использовать функции min()
и max()
из модуля Список:: Util .
use List::Util qw[min max];
my $small = min($one, $two, $three, $four);
my $big = max($one, $two, $three, $four);