The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"perl + netmask"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"perl + netmask"  +/
Сообщение от uni email on 19-Мрт-07, 11:02 
Всем привет :)

$subj. Как в перле перевести netmask из десятичного формата в hex?
Самому писать неохота, наверняка что-то готовое есть, вот только отыскать не могу пока. Не поможете? :)

e.g. 255.255.255.192 -> 0xffffffc0

p.s. А может я что-то пропустил, и в Перле что-то "готовое" есть?

Спасибо!

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "perl + netmask"  +/
Сообщение от NuINu (??) on 19-Мрт-07, 11:25 
>Всем привет :)
>
>$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 );


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "perl + netmask"  +/
Сообщение от uni email on 19-Мрт-07, 11:28 
>>Всем привет :)
>>
>>$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 );

Спасибо! :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "perl + netmask"  +/
Сообщение от arto (??) on 19-Мрт-07, 12:08 
>Всем привет :)
>
>$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
>

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "use Socket; $hex=unpack('H16', inet_aton($ip));"  +/
Сообщение от A on 19-Мрт-07, 12:23 
use Socket;
$hex=unpack('H16', inet_aton($ip));
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "perl + netmask"  +/
Сообщение от Straus_Zloy on 22-Июн-10, 22:31 
>[оверквотинг удален]
>$subj. Как в перле перевести netmask из десятичного формата в hex?
>Самому писать неохота, наверняка что-то готовое есть, вот только отыскать не могу
>пока. Не поможете? :)
>
>e.g. 255.255.255.192 -> 0xffffffc0
>
>p.s. А может я что-то пропустил, и в Перле что-то "готовое" есть?
>
>
>Спасибо!

$hex = sprintf '%02x' x 4, split '\.', $netmask ;


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру