Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
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


Comment on Re^2: print +split
Download Code
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
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: (17)
As of 2015-07-30 15:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (272 votes), past polls