samuelalfred has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I recently started using Cava Packager to generate standalone executables of my perl scripts. It has been working fine so far but now I have a problem. I have a script which generates an excel file (which works fine as a .pl file) and when I run the executable of this script I get the following error:

The Parse::RecDescent module must be installed in order to write an Excel formula at excel_test.pm line 128

It seems like it is the command "store_formula" that is the reason for the error. I have tried to explicitly include Parse::RecDescent when packaging the script but the error is still there. I have also tried adding "use Parse:RecDescent" in the beginning of the script, didn't work either.

I'm using Active perl version 5.10.0 build 1004, win XP, Cava Packager version 1.3.31.696 and the installed version of Parse:RecDescent that I have is 1.96.0.

Any ideas? Thanks in advance!

Replies are listed 'Best First'.
Re: Parse::RecDescent in Cava Packager
by Anonymous Monk on Feb 27, 2009 at 12:27 UTC
    Just installed cava, loads use Spreadsheet::WriteExcel; use Parse::RecDescent; no problem. You must be doing something wrong :(
      I was right. Add Parse::RecDescent to the EXPLICIT EXCLUDE LIST and it won't include it. You don't even get a warning that a conflict exists (thats a bug). I'll stick with par.
        Why is this bad? If you add it to explicit EXCLUDES it shouldn't be included, right? I've added it to explicit INCLUDES and it's still not included. That's wrong!
      Hmm, I can't understand what I might be doing wrong. Would it be possible for me to get the code you tested just to see if that will work for me? If you have some short code snippet you are willing to share... otherwise thank your anyway for you response!
        #!/usr/bin/perl -- use strict; use warnings; use Spreadsheet::WriteExcel; use Parse::RecDescent; use Spreadsheet::WriteExcel::Formula;## BINGO require Parse::RecDescent; print $_,$/ for %INC;