#!/usr/bin/perl use Math::BigInt; use NetAddr::IP::Util qw( bcd2bin ipv6_n2x ); my $data = q| got: '340282366920938963520000944000010176000' # expected: '340282366920938463463374607431768211455' # Failed test 'cafe:cafe::/64 Scalar numeric ok' # at t/v6-numeric.t line 57. # got: '269827015721314205120005577600083392000' # expected: '269827015721314068804783158349174669312' # Failed test 'cafe:cafe::/64 Array numeric ok for network' # at t/v6-numeric.t line 58. # got: '269827015721314205120005577600083392000' # expected: '269827015721314068804783158349174669312' # Failed test 'cafe:cafe::/64 Array numeric ok for mask' # at t/v6-numeric.t line 59. # got: '340282366920938963520000944000010176000' # expected: '340282366920938463444927863358058659840' # Failed test 'cafe:cafe::1/64 Scalar numeric ok' # at t/v6-numeric.t line 57. # got: '269827015721314205120005577600083392000' # expected: '269827015721314068804783158349174669313' # Failed test 'cafe:cafe::1/64 Array numeric ok for network' # at t/v6-numeric.t line 58. # got: '269827015721314205120005577600083392000' # expected: '269827015721314068804783158349174669313' # Failed test 'cafe:cafe::1/64 Array numeric ok for mask' # at t/v6-numeric.t line 59. # got: '340282366920938963520000944000010176000' # expected: '340282366920938463444927863358058659840' # Failed test 'dead:beef::/100 Scalar numeric ok' # at t/v6-numeric.t line 57. # got: '295990755014136299520006003200014752000' # expected: '295990755014133383690938178081940045824' # Failed test 'dead:beef::/100 Array numeric ok for network' # at t/v6-numeric.t line 58. # got: '295990755014136299520006003200014752000' # expected: '295990755014133383690938178081940045824' # Failed test 'dead:beef::/100 Array numeric ok for mask' # at t/v6-numeric.t line 59. # got: '340282366920938963520000944000010176000' # expected: '340282366920938463463374607431499776000' # Failed test 'dead:beef::1/100 Scalar numeric ok' # at t/v6-numeric.t line 57. # got: '295990755014136299520006003200014752000' # expected: '295990755014133383690938178081940045825' # Failed test 'dead:beef::1/100 Array numeric ok for network' # at t/v6-numeric.t line 58. # got: '295990755014136299520006003200014752000' # expected: '295990755014133383690938178081940045825' # Failed test 'dead:beef::1/100 Array numeric ok for mask' # at t/v6-numeric.t line 59. # got: '340282366920938963520000944000010176000' # expected: '340282366920938463463374607431499776000' |; my @trial = split("\n",$data); my @data; foreach(@trial) { if ($_ =~ /(?:got|expected)\:\s+\'(\d+)/) { push @data,$1; } } #for(my $i=0;$i <= $#data;$i +=2) { # print $data[$i]," -\n"; # print $data[$i +1]," =\n"; # my $x = Math::BigInt->new($data[$i]); # my $y = Math::BigInt->new($data[$i +1]); # $x->bsub($y); # print $x,"\n\n"; #} for(my $i=0;$i <= $#data;$i +=2) { my $x = ipv6_n2x(bcd2bin($data[$i])); print $data[$i],"\t=> $x\n"; my $y = ipv6_n2x(bcd2bin($data[$i +1])); print $data[$i +1],"\t=> $y\n"; }