use strict; use warnings; sub slurp { local $/ = undef; local *file; open file, $_[0] or die "Can't open $_[0]: $!"; my $slurp = ; close file or die "Can't close $_[0]: $!"; $slurp; } my $indata = slurp('noa.txt'); print "pass, wall time (sec), CPU time (sec), VM (MB), ResMem (MB), Page Faults\n"; while ($indata =~ m/^Pass\s\#(\d+).*? ^Elapsed\ Time\s+:\s+([\d\.]+).*? ^CPU\ Time\s+:\s+([\d\.]+).*? ^Virtual\ memory\ size\s+:\s+([\d\.]+).*? ^Resident\ set\ size\s+:\s+([\d\.]+).*? ^Major\ page\ faults\s+:\s+([\d\.]+) /msgcx) { print "$1, $2, $3, $4, $5, $6\n"; }