Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^3: sumof - attempting to sum a column from each file

by CountZero (Bishop)
on Sep 15, 2012 at 07:14 UTC ( [id://993845]=note: print w/replies, xml ) Need Help??


in reply to Re^2: sumof - attempting to sum a column from each file
in thread sumof - attempting to sum a column from each file

Try this for your summing code:
use Modern::Perl; my $sum_of_used; { no warnings qw/numeric uninitialized/; $sum_of_used += (split /\s+/)[2] while <DATA>; } say $sum_of_used; __DATA__ <df -k> Filesystem total used avail capacity Mounted + on /vol/vol0/ 142606336KB 5274244KB 137332092KB 4% /vol/v +ol0/ /vol/vol0/.snapshot 35651584KB 923524KB 34728060KB 3% /vol/vo +l0/.snapshot /vol/vobstore/ 734003200KB 6335232KB 727667968KB 1% /vol/ +vobstore/ /vol/vobstore/.snapshot 183500800KB 260200KB 183240600KB 0% / +vol/vobstore/.snapshot /vol/ccase/ 125829120KB 21814420KB 104014700KB 17% /vol/ +ccase/ /vol/ccase/.snapshot 31457280KB 90572KB 31366708KB 0% /vol/c +case/.snapshot /vol/viewstore/ 943718400KB 6492604KB 937225796KB 1% /vol/ +viewstore/ /vol/viewstore/.snapshot 235929600KB 137500KB 235792100KB 0% +/vol/viewstore/.snapshot /vol/viewstore_win/ 67108864KB 480KB 67108384KB 0% /vol/vi +ewstore_win/ /vol/viewstore_win/.snapshot 16777216KB 2372KB 16774844KB 0% + /vol/viewstore_win/.snapshot </df -k>
It can be so simple because Perl knows how to make a number out of "almost" numbers. In other words, Perl simply disregards the 'KB' which is attached to the number. Everything which does not contain numbers will become 0, such as the header line. A perfect example of Perlish "Do What I Mean".

Of course I had to switch of the "not numeric" and "not initialized" warnings, but that is OK if you know what you are doing.

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

My blog: Imperial Deltronics

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://993845]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (3)
As of 2024-04-24 18:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found