in reply to MANIFEST with spaces in filenames?

maniread in ExtUtils::Manifest treats everything after the first whitespace as a comment. Is there some way to specify a filename that contains a space? Renaming the file isn't an option for me.
No, but here is a novel idea though (:
use ExtUtils::Manifest(); sub ExtUtils::Manifest::maniread { print "blah blah blah"; } use ExtUtils::MakeMaker; ...
Previously I was leaving them out of the MANIFEST and added a PREOP in Makefile.PL to copy the files manually. Unfortunately, I've switched to Module::Install and it doesn't seem to have equivalent functionality. :(
According to scandeps, Module::Install doesn't use ExtUtils::Manifest so I'm not sure why you're looking at ExtUtils::Manifest, but you can always

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.

Replies are listed 'Best First'.
Re^2: MANIFEST with spaces in filenames?
by coppit (Beadle) on Sep 16, 2004 at 04:11 UTC
    Actually, Module::Build::Base uses ExtUtils::Manifest. Even worse, when you run "make dist" you get:
    /usr/bin/perl -Iinc "-MExtUtils::Manifest=manicopy,maniread" \ -e "manicopy(maniread(),'Mail-Mbox-MessageParser-1.21.0', 'bes +t');"
    This means my only real option is to copy ExtUtils/Manifest.pm to inc/ and then modify it. Bleh. Instead, I've asked the author to provide support for escaped spaces in the MANIFEST.

    In the meantime, I've done the following:

    1. comment out the lines in the MANIFEST that involve files with spaces
    2. Put the following at the end of Makefile.PL:
      print "Fixing PREOP in the Makefile to copy files with spaces during + building\n"; my $commands = q{; \$(CP) t/mailboxes/*\\\\ * \$(DISTVNAME)/t/mailbo +xes; \$(CP) t/results/*\\\\ * \$(DISTVNAME)/t/results}; system "$^X -pi -e 's|^(PREOP\\s*=.*)|\$1$commands|' Makefile";
    The above code should work for both ExtUtils::MakeMaker and Module::Install.