Skip Menu |

This queue is for tickets about the Class-Loader CPAN distribution.

Report information
The Basics
Id: 118354
Status: open
Priority: 0/
Queue: Class-Loader

People
Owner: Nobody in particular
Requestors: zrusilla [...] mac.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 2.03
Fixed in: (no value)



Subject: __prepare_args breaks if $Data::Dumper::Terse = 1
__prepare_args does not behave as intended when code elsewhere sets $Data::Dumper::Terse = 1. The terse output does not include "$VAR1 = " nor the ';' at the end, so the regexes that should remove the square brackets fail. Thus __prepare_args returns a string that evals to an array ref, not an array, which may lead to complaints from the constructor invoked on the next line (57) Proposed fix: localize $Data::Dumper::Terse to 0 inside of __prepare_args.
Looking at this code, I see so much wrongthink. This is apparently an attempt to dereference an array by serializing it using a module intended to be human-readable not machine-parseable, assuming a specific parseable output, never checking to make sure that's true, then either altering it or not and creating an eval-able string. What does this do that dereferencing the arrayref would not do? Who maintains this?