#! perl -slw use strict; use List::Util qw[ reduce ]; my $s = 'this is a test'; reduce{ print "$a:$b"; $b; } split ' ', $s; print "\n---\n"; my @p; reduce{ print "$a:$b"; push @p, [ 1, 2 ]; $b; } split ' ', $s; print "\n---\n"; my @q; reduce{ print "$a:$b"; push @q, [ $a, 2 ]; $b; } split ' ', $s; print "\n---\n"; my @r; reduce{ print "$a:$b"; push @r, [ $a, $b ]; $b; } split ' ', $s; __END__ c:\test>junk3 this:is is:a a:test --- this:is is:a a:test --- this:is is:a a:test --- this:is Use of uninitialized value in concatenation (.) or string at c:\test\junk3.pl line 31. :a Use of uninitialized value in concatenation (.) or string at c:\test\junk3.pl line 31. :test