sub scope_test{ my @data_in = ; my @data_out; for (0..$#data_in){ call_back(\@data_out, $data_in[$_]); } print "$_" for @data_out; } #### sub scope_test{ my @data_out; while () { call_back(\@data_out, $_); } print "$_" for @data_out; } #### sub scope_test{ my @data_out; call_back(\@data_out, $_) while (); print "$_" for @data_out; }