在perl中随机生成ipv6地址

时间:2016-03-31 09:33:22

标签: perl ipv6

我必须使用Perl 随机生成IPV6 地址。

请帮帮我。

2 个答案:

答案 0 :(得分:3)

目前还不清楚您是否只想任何 128位模式,或者您是否需要跳过reserved IP addresses

该程序解决了最基本的解释

use strict;
use warnings 'all';
use feature 'say';

my $ipv6 = join ':', map { sprintf '%04X', rand 0x10000 } 1 .. 8;

say $ipv6;

输出示例

FDFE:5E91:137C:8482:DCB2:03D9:2C1D:8A75

答案 1 :(得分:1)

如果您需要包含某些ipv6-address的字符串,可以使用以下代码:

my $addr_str = '';
$addr_str .= (($_) ? ':' : '') . sprintf "%04x", rand 0xFFFF + 1 for 0..7; 
# $addr_str =~ s/0000//g; # to reduce when zero-block appears