【perl】sort関数とreverse関数〜配列の要素を小さい順・大きい順に並べ替える〜

#! usr/bin/perl

use strict;
use warnings;

my @array = qw(1 111 9 58 41 59);

#◎【基本】sort(@並べ替えたい配列名); =>「文字列の文字コードが小さい順に」並べ替える。

my @sorted = sort(@array);

print "@array\n";  #出力結果 =>1 111 9 58 41 59
print "@sorted\n"; #出力結果 =>1 111 41 58 59 9 =>文字コードが小さい順なので、こーなる。

print "\n";


#◎sort { $a <=> $b } @並べ替えたい配列名; =>「数字を小さい順に」並べ替える。

my @sorted1 = sort { $a <=> $b }@array;  #{$a<=>$b}の部分は変えてはならない。
print "@sorted1\n";                      #出力結果 =>1 9 41 58 59 111

print "\n";


#◎【基本】reverse(sort(@並べ替えたい配列名)); => sortで並べ替えた順の逆(大きい順)に並べ替える。

my @sorted2 = reverse(sort(@array));
print "@sorted2\n"; #出力結果 => 9 59 58 41 111 1 =>@sortedの逆順になっている。(文字コードで並べ替え)

my @sorted3 = reverse(sort{$a<=>$b}@array);
print "@sorted3\n"; #出力結果 => 111 59 58 41 9 1 =>@sorted1の逆順になっている。(数字で並べ替え)