ike*_*ami 31
List :: Util的min,max很好,
use List::Util qw( min max );
my $min = min @numbers;
my $max = max @numbers;
Run Code Online (Sandbox Code Playgroud)
但是当你需要最小值和最大值时,List :: MoreUtils的minmax效率会更高(因为它的比较较少).
use List::MoreUtils qw( minmax );
my ($min, $max) = minmax @numbers;
Run Code Online (Sandbox Code Playgroud)
List :: Util是核心的一部分,但List :: MoreUtils不是.
Has*_*kun 20
您可以List::Util轻松地使用,例如.
use List::Util qw(min max);
my @arr = (33, 32, 8, 100);
print min(@arr)," ", max(@arr), "\n";
Run Code Online (Sandbox Code Playgroud)
jm6*_*666 19
没有模块:
#!/usr/bin/perl
use strict;
use warnings;
my @array = sort { $a <=> $b } qw(33 32 8 100);
print "min: $array[0]\n";
print "max: $array[-1]\n";
Run Code Online (Sandbox Code Playgroud)
fle*_*esk 11
提供的解决方案很好,但是如果你想自己实现它,它非常简单:
use strict;
use warnings;
my @array = (33, 32, 8, 100);
my ($min, $max);
for (@array) {
$min = $_ if !$min || $_ < $min;
$max = $_ if !$max || $_ > $max
};
print "min: $min\n";
print "max: $max\n";
Run Code Online (Sandbox Code Playgroud)