open (my $ps, "-|", "/usr/bin/ps -o pcpu,vsz,stime,etime,pid,args -A|sort -kn1") or die "ps not opened $!"; while (<$ps>) { next if $. == 1; next if /\/usr\/cachesys\/mgr -U/i; ### Skip interactive sessions ### #my @tmp = split if /cache/ig; if ( /(cache\s-s.*|\/usr\/cachesys.*)/ig ) { #print $1,"\n"; my @tmp = split; my ($key) = split " ",$tmp[0]; #my ($vals)= $_ =~ /([^cache]*)/; my ($vals) = $_ =~ /\b\s|\d+\.\d+\b(.*?)\bcache\b/; print $vals,"\n"; } #my @tmp1=@tmp[1,2,3,4]; #$psH{$key} = [@tmp1]; } close ($ps) __SAMPLE DATA__ 8.45 7712 15:50:37 01:18 27551 cache -s/usr/cachesys/mgr -cj -p295 JOB^CCJOB 9.61 7712 15:50:39 01:16 27661 cache -s/usr/cachesys/mgr -cj -p295 JOB^CCJOB 9.69 7712 15:50:35 01:20 27501 cache -s/usr/cachesys/mgr -cj -p295 JOB^CCJOB 9.87 7712 15:50:41 01:14 27739 cache -s/usr/cachesys/mgr -cj -p295 JOB^CCJOB 10.62 7712 15:50:43 01:12 27815 cache -s/usr/cachesys/mgr -cj -p295 JOB^CCJOB 23.68 7712 10:51:28 05:00:27 15822 cache -s/usr/cachesys/mgr -cj -p305 JOB^CCJOB