I'm looking for Perl module for parsing IPv6. I found NetAddr::IP on CPAN. It looks good for me. If you know other recommendations which you felt good, please let me know on comment form. Thanks in advance!
IPv6 を操作したいので Perl モジュールを探しています。NetAddr::IP は割と良さげでした。でももしオススメなモジュールをご存知でしたらコメント欄で教えてくださいね。
$ cpanm NetAddr::IP
$ perl -MNetAddr::IP -le 'print NetAddr::IP->new(q{FD00::1})->addr'
FD00:0:0:0:0:0:0:1
$ perl -MNetAddr::IP -le 'print NetAddr::IP->new(q{FD00::1})->short'
FD00::1
$ perl -MNetAddr::IP -le 'print NetAddr::IP->new(q{FD00::1})->full'
FD00:0000:0000:0000:0000:0000:0000:0001
$ perl -MNetAddr::IP -le 'print NetAddr::IP->new(q{FD00::1})->full6'
FD00:0000:0000:0000:0000:0000:0000:0001
$ perl -MNetAddr::IP -le 'print NetAddr::IP->new(q{FD00::1})->version'
6
$ perl -MNetAddr::IP -le 'print NetAddr::IP->new(q{128.0.0.1})->version'
4
Hmm, AnyEvent has a few methods for parsing IPv6, but these methods are embedded in AnyEvent::Socket.
AnyEvent なんかも見たんですが自前で IPv6 の実装が入っていましたわ。うーむ。
追記
ふむ。AnyEvent::Socket::parse_ipv6 では
sub parse_ipv6($) {
# quick test to avoid longer processing
my $n = $_[0] =~ y/://;
return undef if $n < 2 || $n > 8;
という感じで簡単な IPv6 アドレスのチェックをしていますね。これの方式でも IPv6 のアドレスの確認用途としては足りる気もします。
Comments