IPv4 addresses are 32-bit; they are often handled as integer values (uint32_t).
Perl provides pack and unpack for working with rigid-format data. For example:
my $ip = "123.223.11.22"; my @ip = split /\./, $ip; my $p = pack "C4", @ip; # packed as 4-octet thing my $x = unpack "N", $p; # ip as unsigned int # work on integer values, e.g. masking is just ($x & $y) $p = pack "N", $x; # re-pack the value my $bitvec = unpack "B32", $p; my $quad = join q(.), unpack "C4", $p; print "as bitvector: $bitvec\n"; print "as dotted quad: $quad\n";
In reply to Re: I need help with the error "Modification of non-creatable array value attempted"
by Anonymous Monk
in thread I need help with the error "Modification of non-creatable array value attempted"
by Hramyzn
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |