"CATHY GEAR (TRUST HQ)" wrote: > Yes please post the final working solution! This is always helpful. > > Thanks > > Cathy >
The best solution was John's offer while (<INPUTDATA>) { if ((/NPROC/ .. /^Total/) && /\d/) { my ($user, $mem, $cpu) = (split)[1, 4, 6]; print "user = $user, mem = $mem, cpu = $cpu\n"; } } The fix to mine was, I think (OP must confirm this) while (<INPUTDATA>) { chomp; s/^\s+//; next if ((1 .. /^NPROC/) || m/^$/); # The conditions have been swapped here # Explanation for this is one of my earlier mails unless (/^Total/) { # Assumes the line to stop searching for input starts with Total my ($user, $mem, $cpu) = (split (/\s+/))[1, 4, 6]; print "user = $user, mem = $mem, cpu = $cpu\n"; } } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]