Всем привет :)$subj. Как в перле перевести netmask из десятичного формата в hex?
Самому писать неохота, наверняка что-то готовое есть, вот только отыскать не могу пока. Не поможете? :)e.g. 255.255.255.192 -> 0xffffffc0
p.s. А может я что-то пропустил, и в Перле что-то "готовое" есть?
Спасибо!
>Всем привет :)
>
>$subj. Как в перле перевести netmask из десятичного формата в hex?
>Самому писать неохота, наверняка что-то готовое есть, вот только отыскать не могу
>пока. Не поможете? :)
>
>e.g. 255.255.255.192 -> 0xffffffc0
>
>p.s. А может я что-то пропустил, и в Перле что-то "готовое" есть?
>
>
>Спасибо!
my $test_msk = "255.255.255.192";if($test_msk =~ m/(\d{3}).(\d{3}).(\d{3}).(\d{3})/) {
if(($1>255) or ($2>255) or ($3>255) or ($4>255)) {
goto BAD_EXIT;
}
my $res = (($1*256+$2)*256+$3)*256+$4;
print sprintf("0x%x\n", $res );
>>Всем привет :)
>>
>>$subj. Как в перле перевести netmask из десятичного формата в hex?
>>Самому писать неохота, наверняка что-то готовое есть, вот только отыскать не могу
>>пока. Не поможете? :)
>>
>>e.g. 255.255.255.192 -> 0xffffffc0
>>
>>p.s. А может я что-то пропустил, и в Перле что-то "готовое" есть?
>>
>>
>>Спасибо!
>my $test_msk = "255.255.255.192";
>
>if($test_msk =~ m/(\d{3}).(\d{3}).(\d{3}).(\d{3})/) {
> if(($1>255) or ($2>255) or ($3>255) or ($4>255)) {
> goto BAD_EXIT;
> }
> my $res = (($1*256+$2)*256+$3)*256+$4;
> print sprintf("0x%x\n", $res );Спасибо! :)
>Всем привет :)
>
>$subj. Как в перле перевести netmask из десятичного формата в hex?
>Самому писать неохота, наверняка что-то готовое есть, вот только отыскать не могу
>пока. Не поможете? :)
>
>e.g. 255.255.255.192 -> 0xffffffc0
>
>p.s. А может я что-то пропустил, и в Перле что-то "готовое" есть?
>
>
>Спасибо!>perl -MList::Util=reduce -le "printf """%08x""",reduce { $a*256+$b } split """\\.""",$ARGV[0];" 255.255.255.192
ffffffc0
>
use Socket;
$hex=unpack('H16', inet_aton($ip));
>[оверквотинг удален]
>$subj. Как в перле перевести netmask из десятичного формата в hex?
>Самому писать неохота, наверняка что-то готовое есть, вот только отыскать не могу
>пока. Не поможете? :)
>
>e.g. 255.255.255.192 -> 0xffffffc0
>
>p.s. А может я что-то пропустил, и в Перле что-то "готовое" есть?
>
>
>Спасибо!$hex = sprintf '%02x' x 4, split '\.', $netmask ;