#! perl -slw use strict; use List::Util qw[ reduce ]; sub s1 { my $r = shift; reduce{ $r->[0] } 1 .. 10; } while( 1 ) { my $t = map s1( $_ ), [1], [2], [3]; }