2次元配列で、List::Utilで最大値を求めたい場合は
$max = List::Util::max(@$foo[0]);
ではだめなのですか?