Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^2: print +split

by drock (Beadle)
on Mar 13, 2005 at 01:46 UTC ( #439046=note: print w/replies, xml ) Need Help??


in reply to Re: print +split
in thread print +split

yes Roy, thanks but I intended to paste everything including use strict, but forgot. The missing $ was a mistake...sorry I have the same code and it is not subtracting the two values 62622 and 62535.
use strict; use warnings; use diagnostics; use MIME::Lite; use Logfile::Rotate; $ENV{"PATH"} = qq(/opt/SUNWsamfs/sbin:/usr/bin:/usr/sbin:/usr/local/lo +g); ########## ## Fuji ## ########## my $dev = qw/original1/; my $dev1 = qw/clinical1/; my $diff=0; open (FOO, "samcmd a $dev 2>\&1 |" ) || die "unable to open pi +pe... Broken? $!"; while (<FOO>) { if (/regular files|archdone files/) { local $, = "\n"; #s/^\w+(\s+)\w+(\s+)// && s/,//,; s/,//, print +(split)[2], $,; if (/^\d+/) { $diff -=$2; ##--## 62622 - 62535 # I dont really need this if b/c # I know what $_ contains after the split # which is the two numbers. } } } __DATA__ regular files 62,622 597.488G 641547379187 archdone files 62,535 597.008G 641032761295

Replies are listed 'Best First'.
Re^3: print +split
by chas (Priest) on Mar 13, 2005 at 02:30 UTC
    Try:
    while (<DATA>) { if (/regular files|archdone files/) { local $, = "\n"; s/,//; print +(split)[2], $,; $diff[++$i] = (split)[2]; } } print $diff[1]-$diff[2],"\n"; __DATA__ regular files 62,622 597.488G 641547379187 archdone files 62,535 597.008G 641032761295

    Your code wasn't performing a subtraction. Also, as Roy mentioned the /^\d+/ wasn't matching.
      Chas.... I understand now... my bad. Anyway it is printing the two elements of not computing the difference.
      root@stkv440-srvA [ / ]-> perl /usr/local/bin/ohiohealth/filecp_chk.OH +.pl 64696 64684 Difference is: 64696 - 64684
      I got it... I was a matter interpolation in my print statement. THANK YOU CHAS!!!! : ) Have a nice week!
        You 're welcome!
        I didn't see your print statement, but I'm sure I know what you mean. *Actually, you can imbed function calls within strings, although it isn't necessary here.* Look at:
        $diff[1]=62622; $diff[2]=62535; print $diff[1]-$diff[2],"\n"; print "$diff[1]-$diff[2]\n"; print "@{[$diff[1]-$diff[2]]}\n";
        chas
      hey chas... where are you defining $i in $diff++$i??? I am not followinf you logic. Will you please provide some psuedo code?

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (1)
As of 2023-05-31 03:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?