do{ &proc_run; } while $result ne""; my $inow_fas = "/inow/index-data/sfs-fas/fas.txt"; exit unless (-e $inow_fas); my $dstamp = `date "+%m-%d-%Y"`; chomp $inow_fas; my $renamed_file = $inow_fas.$dstamp; chomp $renamed_file; `cp $inow_fas $renamed_file`; --- snip (do other stuff) --- sub proc_run{ $result =`ps -aef|grep writekeyscmdline|grep -v grep`; sleep 60 if $result =~ m/writekeyscmdline/; }