#!/usr/bin/perl use strict; foreach my $item ('top', 'heavy', 'fool') { my (@array1, @array2); a_function($item); print "@array1\n"; print "@array2\n"; } sub a_function { my $item = shift; push @array1, 'crap'; push @array2, 'dumb'; } #### Global symbol "@array1" requires explicit package name at ./test_loop.pl line 18. Global symbol "@array2" requires explicit package name at ./test_loop.pl line 19. Execution of ./test_loop.pl aborted due to compilation errors. #### ... my (@array1, @array2); foreach my $item ('top', 'heavy', 'fool') { ...