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