On Thursday 14 October 2010 13:42:54 Nicholas Bamber wrote: > I don't suppose you could think of a way to reproduce this outside of > assassin?
I've looked at $NetAddr::IP::Util. This reminds me of old painful memories when I played with autosplit (or was it the reverse ? ;-) ) The error message : Feb 27 11:24:35 mail spamd[16173]: Use of uninitialized value $NetAddr::IP::Util::n2d_format in sprintf at ../../blib/lib/NetAddr/IP/Util.pm (autosplit into ../../blib/lib/auto/NetAddr/IP/Util/ipv6_n2d.al) line 356, <GEN1757> line 153. shows that autosplit was used: each method is located in its own file. And in main $NetAddr::IP::Util we have this declaration: our $n2d_format = "%X:%X:%X:%X:%X:%X:%D.%D.%D.%D"; The problem is that the scope of 'our' declaration is limited to the compilation block (the file). When autosplit is used, the 'our' declaration and the ipv6_n2d file are located in 2 separate files. Hence the undef warning. The fix is quite simple: both variables declared with 'our' needs to be changed into global variables. (use vars qw/$n2d_format $n2x_format/;) But you should talk with upstream for this issue. Dominique -- http://config-model.wiki.sourceforge.net/ -o- http://search.cpan.org/~ddumont/ http://www.ohloh.net/accounts/ddumont -o- http://ddumont.wordpress.com/ -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

