如果我有一个由方括号中的元组组成的字符串,并且我想在 Perl 中从元组中获取最大值怎么办?示例:
输入:[everyday,32][hoho,16][toodledum,128][echigo,4]
输出:128
最佳答案
如果你想要所有的数据,你可以先把它放入一个散列中。
my %data = $str =~ /\[([^,]+),([^\]]+)\]/g;
use List::Util qw'max';
my($max) = max(values %data);
print "max: $max\n";
如果你想知道哪个键有那个数字,你可以使用 grep
print "key: $_\n" for grep { $data{$_} == $max } keys %data;
如果你真的只需要最大值:
use List::Util qw'max';
print max $str =~ /\[[^,]+,([^\]]+)\]/g;
关于perl - 在 Perl 中从括号中获取键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1456973/