sub one{ ...more code here irrelevant for this problem... while ($i<=$c) { $direc_data="direc_data".$i; $direc_temp=param($direc_data); $files_data="filenames".$i; $files_temp=param($files_data); $dest_data="dest_data".$i; $dest_temp=param($dest_data); push (@direc_temp,$direc_temp); push (@files_temp,$files_temp); push (@dest_temp,$dest_temp); } return (@direc_temp,@files_temp,@dest_temp); } #End sub ONE #### sub two { (@direc_temp,@files_temp,@dest_temp)= @_; # or (@direc_temp,@files_temp,@dest_temp)= &one; print "Here are all the value found on: @direc_temp,@files_temp and @dest_temp."; ...more code here irrelevant for this problem... } #End sub two