Fri Sep 05 10:39:56 2008: Request 38067 was acted upon. Transaction: Correspondence added by SMUELLER Queue: PAR-Packer Subject: Can't use XML::SAX in a PAR::Packer standalone due to ParserDetails.ini problem Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: [EMAIL PROTECTED] Status: open Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=38067 >
I don't have a general fix for this, but I'd like to note that this is *not* the case for "normal" pp-generated executables. If you include the INI file in the package, it'll be normally extracted and found. Only if you use XML::SAX directly from a .par file or from an executable which was built with the --clean option, it won't extract the INI. Personally, I think it's a pretty bad idea to put any configration files in Perl's module path hierarchy, but I may be biased. One possible (but XML-SAX-side) fix would be to add a few lines to the code that searches for the INI file: If the search fails, check whether PAR is loaded and if so, have it try to search in any loaded .par files for the INI file. Untested: ... my $fh = gensym(); if (!open($fh, File::Spec->catfile($dir, "SAX", PARSER_DETAILS))) { my $path = "lib/XML/SAX/".PARSER_DETAILS(); my $ini_text; if ( exists $INC{"PAR.pm"} and defined($ini_text = PAR::read_file($path) ) { # do stuff } else { XML::SAX->do_warn("could not find " . PARSER_DETAILS . " in $dir/SAX\n"); return $class; }