#!/usr/bin/perl use strict; use warnings; ########################################################## # # Parse PS Accounting Data # ########################################################## my $uid; my $login; my $cpupr; my %someData; my $value; my $key; for my $file ("may_07_xsd00544.dat") { open (my $fh,"<",$file) or die "Can't open file $file: $!"; my @data; while (my $line = <$fh>) { chomp($line); chomp ( my @data = <$fh> ); last if ($line =~ /TOTAL COMMAND SUMMARY/); next unless $line =~ /^\d/; push @data, $line; } my @sorted = map { $_->[0] } sort { $b->[1] <=> $a->[1] } map [ $_, (split)[3] ], @data; print "$_\n" for @sorted; close $fh or die "Can't close result file: $!"; }