use List::Util qw( min ); my @A; for $_ (1..5) { push @A, $_; $max = min($#A, 0); $t = ref $#A; print "$max = min($#A,0)\n"; } #### 0 = min(0,0) 1 = min(1,0) 0 = min(2,0) 0 = min(3,0) 0 = min(4,0)