Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: Net::Netmask not working with scalar variable

by aquarium (Curate)
on Oct 08, 2010 at 04:59 UTC ( [id://864141]=note: print w/replies, xml ) Need Help??


in reply to Net::Netmask not working with scalar variable

it's a good idea to open a file for read only, if you only ever intend to only read the file, otherwise it gets opened automatically read+write.
can't test your code at moment but generally when constructing funky strings, especially that $fk is input to a module/function, i'd recommend forming it like so
my $fk = "$ff" . ':255.255.255.0';
to make sure perl doesn't think that $ff: (for instance) is an entry into the symbol table instead of what you intend.
so i always double quote variables separately, and attach other bits of strings in single quotes.
the hardest line to type correctly is: stty erase ^H

Replies are listed 'Best First'.
Re^2: Net::Netmask not working with scalar variable
by Anonymous Monk on Oct 10, 2010 at 19:31 UTC

    open is read only when mode is omitted. The 3 argument form of open is considered better practice:

    open(my $fh, '<', "input.txt") or die $!

    There is no reason to place a variable in double quotes unless you're interpolating it into a string, so the original poster's code was perfectly fine. To affect the symbol table you'd place 2 colons between barewords; like when you use a module or declare a package.

Re^2: Net::Netmask not working with scalar variable
by sagarkha (Acolyte) on Oct 12, 2010 at 00:58 UTC
    I tried using my $fk = "$ff" . ':255.255.255.0';. I also tried using chomp; But no help in both the cases. I know my regex will matches more than just the Ip addresses like 2223.9991.55654.11111, but i damn sure it will match each and every IP address on the planet. And it is doing it correctly since i am getting the correct IP in $ff. Now, for more troubleshooting i tried printing $ff & $fk and i got the below results, i am not sure what is wrong here
    print "$ff\n"; print "$fk\n"; $block4 = Net::Netmask->new2($fk);
    Results:
    10.6.10.5 :255.255.255.0 Can't call method "size" on an undefined value at save.txt line 55, <F +> line 23.

Log In?
Username:
Password:

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

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

    No recent polls found