Is almost certainly not what you want. If you do match /IP Address/ and then split on a space and then append to the list you will get something like:while(<F>) { if(/IP Address/) { @split0= split(/ /, $_); @MYIP0=(@MYIP0,@split0); }
at best. Then even if you do match your /\d*\.\d*\.\d*\.\d*/ you're still keeping the wrong value. You probably want something like:@MYIP0 = ( 'IP', 'Address', "192.168.1.1\r\n" )
The not perfect regex is OK since output from system commands rarely varies.while (<F> { if (/IP\sAddress\s+(\d+\.\d+\.\d+\.\d+)/) { push @MYIP, $1; } ... } $ff = $MYIP[0]; $fk = "$ff:255.255.255.0"; # even better, use 2 arg version of Net::Netmask->new2 $block = Net::Netmask->new2( $MYIP[0], '255.255.255.0'); ...
In reply to Re: Net::Netmask not working with scalar variable
by Anonymous Monk
in thread Net::Netmask not working with scalar variable
by sagarkha
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |