On Friday 14 December 2007 03:22, [EMAIL PROTECTED] wrote: > > All, Hello,
> I've had to change the code as due to the earlier version of perl I > am running the open line would not work. > > I found a workaround on the internet > > use strict; > use warnings; > > > > my $file = shift @ARGV || 'cpuuse.out'; > > > my %fh = (); You declare a hash %fh. > if (-f $file and ! $fh{$file} ) { > open($fh{$file}, "<$file") || DisplayError(); You populate the hash with filename keys and IO typeglob values. > # coolness ensues... > } > > > my @cpu; > > while (<$fh>) { You should have gotten a message from 'strict' that: Global symbol "$fh" requires explicit package name ... Because $fh is not a valid filehandle the while loop is not executed and therefore the array @cpu contains nothing. > my @data = split; > push @cpu, $data[4]; > } > > print sum(@cpu) / @cpu; > > sub sum { > my $sum; > $sum += $_ foreach @_; > return $sum; > } John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/