我必须使用Perl 随机生成IPV6 地址。
请帮帮我。
答案 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