my @data = prepData(); for my $item (@data) { #format and output } sub prepData { my @data; #create array of hashes return @data; } #### my @data; prepData(\@data); for my $item (@data) { #format and output } sub prepData { my $refData = shift; #do data generation; } #### my $refData = prepData(); for my $item (@$refData) { #format and output } sub prepData { my @data; #create array of hashes return \@data; }