Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Beware List::MoreUtils natatime()!

by JavaFan (Canon)
on Feb 09, 2009 at 10:17 UTC ( [id://742386]=note: print w/replies, xml ) Need Help??


in reply to Beware List::MoreUtils natatime()!

It would seem to be an XS bug - setting the environment var LIST_MOREUTILS_PP=1 makes it go away.
Not for me:
$ LIST_MOREUTILS_PP=1 perl foo String found where operator expected at (eval 1) line 206, near "Carp: +:croak "each_arrayref: argument is not an array reference\n"" (Do you need to predeclare Carp::croak?) String found where operator expected at (eval 1) line 226, near "Carp: +:croak "each_array: unknown argument '$method' passed to iterator."" (Do you need to predeclare Carp::croak?) Use of inherited AUTOLOAD for non-method List::MoreUtils::natatime() i +s deprecated at foo line 14. Can't locate auto/List/MoreUtils/natatime.al in @INC (@INC contains: / +opt/perl/lib/5.10.0/i686-linux-64int-ld /opt/perl/lib/5.10.0 /opt/per +l/lib/site_perl/5.10.0/i686-linux-64int-ld /opt/perl/lib/site_perl/5. +10.0 /opt/perl/lib/site_perl/5.8.8 /opt/perl/lib/site_perl .) at foo +line 14
It runs (with the memory leak) if I don't set LIST_MOREUTILS_PP.

Replies are listed 'Best First'.
Re^2: Beware List::MoreUtils natatime()!
by diotalevi (Canon) on Feb 10, 2009 at 07:13 UTC

    Your bug sounds like your version is depending on an accident of not-quite recent perls. It used to often "just work" to say Carp::croak '...';. That was accidental and whenever you see an exception like this, just make sure to load Carp in advance of loading the thing you're using.

    In your example, do:

    $ LIST_MOREUTILS_PP=1 perl -MCarp foo
      Looking into the source of List::MoreUtils, I find:
      require Carp; Carp::croak "some message";
      That only works if Carp was already loaded. In older versions of Perl, there was a common pragma (vars?) that loaded it, but that no longer is loaded in 5.10.

      Hence the error. And another reason to not use List::MoreUtils.

        This fix is so trivial, it's not a real reason to avoid it.

        ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://742386]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2024-04-23 19:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found