Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Antony Gerasimov                     2:5010/148.46  07 Aug 2003  10:32:16
 To : Yuri Shlyapkin
 Subject : IP address
 -------------------------------------------------------------------------------- 
 
     Пpивет Yuri!
 
 06 Авг 03 07:45, Yuri Shlyapkin -> All:
 
  YS> Hужно перевести IP адрес формата A.B.C.D в обычное число:
  YS> IP Number = A x 16777216 + B x 65536 + C x 256 + D
  YS> Вопрос: есть ли стандартная функция?
 
     Я не нашёл ;) поэтому сделал так:
 
 === начался |cat ~/devel/perl/ip2int/ip.pl ===
 #!/usr/bin/perl
 
 # convert integer to IP addr
 sub int2ip($) {
    my $num = shift;
    my @ip = ();
    $ip[0] = sprintf("%d",($num/256/256/256));
    $ip[1] = sprintf("%d",(($num-$ip[0]*256*256*256)/256/256));
    $ip[2] = sprintf("%d",(($num-$ip[0]*256*256*256-$ip[1]*256*256)/256));
    $ip[3] = $num-$ip[0]*256*256*256-$ip[1]*256*256-$ip[2]*256;
    return "$ip[0].$ip[1].$ip[2].$ip[3]";
 }
 
 # convert IP addr to integer
 sub ip2int($) {
    my @a = split /\./, shift;
    return ($a[0]*256*256*256+$a[1]*256*256+$a[2]*256+$a[3]);
 }
 
 # some: IP addresses
 my @my_ip = ( '193.233.86.1', '193.233.80.130' ,
               '193.233.80.5', '193.233.86.104',
           '127.0.0.1', '192.168.1.27',
               '0.0.0.0', '255.255.255.255'
         );
 
 foreach (@my_ip) {
    print 'conversion: ',$_,' -> ',ip2int($_),' -> ',int2ip (ip2int($_)),"\n";
 }
 
 1;
 === закончился |cat ~/devel/perl/ip2int/ip.pl ===
 --- GoldED+/BSD 1.1.4.7
  * Origin: No one wants to be someone else's control. (2:5010/148.46)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 IP address   Yuri Shlyapkin   06 Aug 2003 07:45:58 
 Re: IP address   Vladimir Podgorny   06 Aug 2003 11:16:39 
 Re: IP address   Anatoly Moskovsky   06 Aug 2003 14:27:02 
 Re: IP address   Yuri Shlyapkin   07 Aug 2003 08:06:27 
 IP address   Antony Gerasimov   07 Aug 2003 10:32:16 
Архивное /ru.perl/39693f31d8dc.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional