On 2011.3.9 10:01 PM, Antonio Bonifati wrote:
> I am trying to package some compiled Java anonymous classes
> within a Perl package but found it to be impossible. I need
> them because my code uses Inline::Java.
> 
> The problem lies in the filenames: e.g. they contain $1 (e.g.
> ClassName$1.class). In the Makefile generated by perl Makefile.PL
> such file names are not quoted and thus they erroneously become
> "ClassName.class" because the special shell variables $1, $2,
> ... etc are substituted for empty strings. Is there any cure
> for that other than packaging all my classes as JARs?
> 
> Quoting the file names containing a $ in the MANIFEST (e.g.
> 'ClassName$1.class', 'ClassName\$1.class', ClassName\$1.class)
> does not help here.

A filename with a $ in it in a Makefile is going to fall down the stairs and
hit its head on every step.  That's very non-trivial to fix.  MakeMaker is not
careful about quoting or escaping filenames.

The simplest way out is to use Module::Build which won't have this problem.


-- 
Robrt:   People can't win
Schwern: No, but they can riot after the game.

Reply via email to