Skip Menu |

This queue is for tickets about the String-EscapeCage CPAN distribution.

Report information
The Basics
Id: 28141
Status: resolved
Priority: 0/
Queue: String-EscapeCage

People
Owner: msulliva [...] cpan.org
Requestors: jkeenan [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.01
Fixed in: (no value)



Subject: [PATCH] Add Scalar::Util recent version to Makefile.PL
1. I recommend adding v1.18 of Scalar::Util to the PREREQ_PM field in Makefile.PL. Rationale: You use the refaddr() function from this package. It wasn't introduced until after the Scalar-List-Utils distro had been made part of Perl core distribution with 5.8.0. So there are many Perls out there, particularly as part of package management systems, that are 5.8 but still not new enough to have a version of Scalar::Util containing refaddr(). From my reading of the Scalar-List-Utils Changes file (http://search.cpan.org/src/GBARR/ Scalar-List-Utils-1.19/Changes), v1.18 would be a good one to require, as it includes bug fixes to the pure Perl version. 2. Also attached is a plain-text version of the coverage analysis of String::EscapeCage. At least 3 of your subroutines are untested. 3. Is there a strong rationale for having cage() and uncage() be prototyped? If so, you might want to spell that out in the POD. HTH!
Subject: coverage.txt

Message body is not shown because it is too large.

Subject: string.escapecage.patch.txt
12a13 > 'Scalar::Util' => 1.18,
1. Whoops, good catch. Actually, I don't use Scalar::Util; that was leftover from a more complex implementation. 2. At the moment, rather than being exclusively a polished product, the source contains "sketches" for jotting down ideas. I hope to either develop the ideas (and then provide coverage), toss them, or get some kind of literate programming system in place where I can cleanly record alternatives and brainstorms. 3. I'm not sure whether cage() and uncage() should be available as functions or only as methods. But when used as functions, they should consume only one argument, hence the ($) prototypes.