Приветствую всех форумчан.
В коде RXL (довольно заманчивый пример) никак не могу сообразить, как изменить значения выдаваемых ip-ов?
sub ip_to_n($)
{
my ($ip_s) = @_;
my $ip_n = 0;
for my $part (split(/\./, $ip_s))
{
$ip_n <<= 8;
$ip_n += $part;
}
return $ip_n;
}
sub n_to_ip($)
{
my ($ip_n) = @_;
return (($ip_n >> 24) & 0xff) . '.' . (($ip_n >> 16) & 0xff) . '.' . (($ip_n >> 8) & 0xff) . '.' . ($ip_n & 0xff);
}
sub get_rand_ip($$)
{
my ($ip_from, $ip_to) = @_;
my $ip_n;
$ip_from = ip_to_n($ip_from);
$ip_to = ip_to_n($ip_to);
$ip_n = rand($ip_to - $ip_from + 1) + $ip_from;
return n_to_ip($ip_n);
}
Суть - например, есть диапазон 109.107.170.100 - 109.109.170.255 , вопрос - нужно, что бы все выдаваемые айпи состояли ровно из трех чисел... Т.е., диапазон может быть любым, но на выходе нужно получить ip адрес, состоящий из трех цифр... Возможно ли это? Помогите глупой девченке, пожалуйста