Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^3: Module for file size arithmetic

by Marshall (Canon)
on Mar 12, 2009 at 14:38 UTC ( [id://750171]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Module for file size arithmetic
in thread Module for file size arithmetic

WOW! We've got some "industrial strength" stuff in other posts! I just hacked out something fairly "stupid" that does "MB math". So this is the "dumb" version!
#!usr/bin/perl -w use strict; my %scale= (MB => 1, GB => 1000, KB => 0.001); sub scale2MB { my $string = shift; $string =~ tr/a-z/A-Z/; if ($string =~ /^[\d.]+$/){return $string}; my ($num,$suffix) = ($string =~ /^([\d.]+)\s*(\w+)/); return ($num * $scale{$suffix}); } foreach ("10", "10.5", "10 GB", "1kb", "10.1 GB") { print "$_=",scale2MB($_),"\n"; } my $val = scale2MB("753mb") + scale2MB("50 kb"); print "753MB+50KB is: $val\n"; __END__ prints 10=10 10.5=10.5 10 GB=10000 1kb=0.001 10.1 GB=10100 753MB+50KB is: 753.05

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2024-04-24 22:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found