use strict; my $result=`ls -l /proc/*/fd/* | grep /home/httpd/perl/tmp/`; my @result=split("\n",$result); my (@pids,@files); foreach my $line (@result) { if ($line=~m-/proc/(\d+)/fd-) { push(@pids,$1); $line=~m-(/home/httpd/perl/tmp/.*)-; push(@files,$1); } } $result=`wget --http-user=lonadm -q --http-passwd=litelite --output-document=- http://localhost/server-status`; @result=split('',$result); foreach my $line (@result) { if ($line =~ m -(\d+)-) { my $curpid=$1; print ("curpid is $1\n"); for (my $i=0;$i<=$#pids;$i++) { my $pid=@pids[$i]; my $file=@files[$i]; if ($curpid == $pid) { $line=~m-([^<]*)-; print("$pid has a tmp file $file, last known request is $1\n"); } } } }