有两个参数:$a
和$b
,都是字符串。如果 a 大于/小于/等于 b,则将比较它们。
其他人可以达到42个字符,我不知道如何实现。
AUTOLOAD {
$_[0] + 0 > $_[1] + 0 ? "greater" :
$_[1] == $_[0] ? "equal" : "less"
}
这将按照您的要求进行操作,但是您几乎没有提供有关程序的信息,因此很难提出任何建议
use strict;
use warnings 'all';
for ( [ 1, 2 ], [2, 2], [3, 2] ) {
my ($aa, $bb) = @$_;
printf "%d is %s %dn", $aa, compare($aa, $bb), $bb;
}
sub compare {
my ($aa, $bb) = @_;
('less than', 'equal to', 'greater than')[($aa <=> $bb) + 1];
}
输出
1 is less than 2
2 is equal to 2
3 is greater than 2