ike*_*ami 24
为了回答你实际问过的问题(即使它对你没有用):
最大的整数值,可以存储为有符号整数.
say ~0 >> 1;
Run Code Online (Sandbox Code Playgroud)最大的整数值,可以存储为无符号整数.
say ~0;
Run Code Online (Sandbox Code Playgroud)从0到此数字的所有整数值都可以作为浮点数存储而不会丢失.
use Config qw( %Config );
say eval($Config{nv_overflows_integers_at});
Run Code Online (Sandbox Code Playgroud)
请注意,一些较大的整数可以存储而不会丢失浮点数,但不会高于此值1.
hob*_*bbs 18
在一般情况下,您可以undef用来表示不存在的值; perl标量不仅限于整数.那将写成:
my $min; # undef by default
for my $value (@array) {
$min = $value if !defined $min or $value < $min;
}
Run Code Online (Sandbox Code Playgroud)
但这里有一些更简单的选择.例如,初始化$min为数组中的第一个值,然后与其余值进行比较:
my $min = $array[0];
for my $i (1 .. $#array) {
$min = $array[$i] if $array[$i] < $min;
}
Run Code Online (Sandbox Code Playgroud)
或者只使用内置函数:
use List::Util 'min';
my $min = min @array;
Run Code Online (Sandbox Code Playgroud)