in reply to Compile Perl To Executable

Ok, listen. I have download this software:
ActivePerl 5.14.2 Build 1402 ActiveState Perl Dev Kit 9.1.1 Build 295479
The .pl need this extra library, i have download it with PPM:
Math-Random-Secure with: Math-Random-Secure depends on Crypt-Random-Source Math-Random-Secure depends on Math-Random-ISAAC Math-Random-Secure depends on Crypt-Random-Source-Strong-Win32 Math-Random-Secure depends on Any-Moose Math-Random-Secure depends on Capture-Tiny Math-Random-Secure depends on namespace-clean Math-Random-Secure depends on Module-Find Math-Random-Secure depends on Devel-Hide Math-Random-Secure depends on B-Hooks-EndOfScope Math-Random-Secure depends on Variable-Magic Math-Random-Secure depends on Crypt-Random-Source Math-Random-Secure depends on Math-Random-ISAAC Math-Random-Secure depends on Crypt-Random-Source-Strong-Win32 Math-Random-Secure depends on Any-Moose Math-Random-Secure depends on Capture-Tiny Math-Random-Secure depends on namespace-clean Math-Random-Secure depends on Module-Find Math-Random-Secure depends on Devel-Hide Math-Random-Secure depends on B-Hooks-EndOfScope Math-Random-Secure depends on Variable-Magic
Now if i open CMD and set the path of the .pl, the software works fine, but i need an executable. So i'm open the PerlDevKit - PerlApp Select the script - then --> File - Make executable Give me error: Math\Random\ISAAC\XS.pm Then i have download it with PPM Reclick on --> File - Make executable No error but if i'm open the exe i have this:
PerlApp 9.1.1 build 295479 Copyright (C) 1998-2011 ActiveState Software Inc. All rights reserved. Trial license (Expires: 2012-01-29) ********************************************************************** +****** * WARNING: Applications generated by this evaluation copy of PerlApp w +ill * * stop working after the end of the evaluation period: 2012-0 +1-29 * ********************************************************************** +****** Created 'pwgen.exe' [Test it] Executable size: 1.57 MB, 4 KB larger than last time (0%) [DONE] {.\pwgen.exe} Can't locate Crypt/Random/Source/Strong.pm in @INC (@INC contains: ). +at /<C:\Documents and Settings\Windows Xp\Desktop\pwgen.exe>Class/MOP +.pm line 135 Class::MOP::load_first_existing_class('Crypt::Random::Source::Stro +ng') called at /<C:\Documents and Settings\Windows Xp\Desktop\pwgen.e +xe>Class/MOP.pm line 140 Class::MOP::load_class('Crypt::Random::Source::Strong', undef) cal +led at /<C:\Documents and Settings\Windows Xp\Desktop\pwgen.exe>Moose +/Meta/Class.pm line 554 Moose::Meta::Class::superclasses(undef, 'Crypt::Random::Source::St +rong', 'Crypt::Random::Source::Base') called at /<C:\Documents and Se +ttings\Windows Xp\Desktop\pwgen.exe>Moose.pm line 61 Moose::extends('Moose::Meta::Class=HASH(0x2607b2c)', 'Crypt::Rando +m::Source::Strong', 'Crypt::Random::Source::Base') called at /<C:\Doc +uments and Settings\Windows Xp\Desktop\pwgen.exe>Moose/Exporter.pm li +ne 356 Moose::extends('Crypt::Random::Source::Strong', 'Crypt::Random::So +urce::Base') called at /<C:\Documents and Settings\Windows Xp\Desktop +\pwgen.exe>Crypt/Random/Source/Strong/Win32.pm line 10 eval '' called at perlapp line 848 PerlApp::safe_eval() called at perlapp line 948 PerlApp::my_require('Crypt/Random/Source/Strong/Win32.pm') called +at /<C:\Documents and Settings\Windows Xp\Desktop\pwgen.exe>if.pm lin +e 13 if::work(undef, undef, 'Crypt::Random::Source::Strong::Win32') cal +led at /<C:\Documents and Settings\Windows Xp\Desktop\pwgen.exe>Math/ +Random/Secure/RNG.pm line 9 Math::Random::Secure::RNG::BEGIN() called at /<C:\Documents and Se +ttings\Windows Xp\Desktop\pwgen.exe>Crypt/Random/Source/Strong/Win32. +pm line 0 eval {...} called at /<C:\Documents and Settings\Windows Xp\Deskto +p\pwgen.exe>Crypt/Random/Source/Strong/Win32.pm line 0 eval '' called at perlapp line 848 PerlApp::safe_eval() called at perlapp line 948 PerlApp::my_require('Math/Random/Secure/RNG.pm') called at /<C:\Do +cuments and Settings\Windows Xp\Desktop\pwgen.exe>Math/Random/Secure. +pm line 8 Math::Random::Secure::BEGIN() called at /<C:\Documents and Setting +s\Windows Xp\Desktop\pwgen.exe>Crypt/Random/Source/Strong/Win32.pm li +ne 0 eval {...} called at /<C:\Documents and Settings\Windows Xp\Deskto +p\pwgen.exe>Crypt/Random/Source/Strong/Win32.pm line 0 eval '' called at perlapp line 848 PerlApp::safe_eval() called at perlapp line 948 PerlApp::my_require('Math/Random/Secure.pm') called at pwgen.pl li +ne 18 main::BEGIN() called at /<C:\Documents and Settings\Windows Xp\Des +ktop\pwgen.exe>Crypt/Random/Source/Strong/Win32.pm line 0 eval {...} called at /<C:\Documents and Settings\Windows Xp\Deskto +p\pwgen.exe>Crypt/Random/Source/Strong/Win32.pm line 0 BEGIN failed--compilation aborted at /<C:\Documents and Settings\Windo +ws Xp\Desktop\pwgen.exe>Math/Random/Secure/RNG.pm line 9, <DATA> line + 166. BEGIN failed--compilation aborted at /<C:\Documents and Settings\Windo +ws Xp\Desktop\pwgen.exe>Math/Random/Secure.pm line 8, <DATA> line 166 +. BEGIN failed--compilation aborted at pwgen.pl line 18, <DATA> line 166 +. [DONE]
I don't know how do, please give me an advice. Thanks

Replies are listed 'Best First'.
Re^2: Someone please give me a hand?
by cavac (Prior) on Jan 08, 2012 at 17:12 UTC

    Just start by tackling the first error message, which is

    Can't locate Crypt/Random/Source/Strong.pm in @INC (@INC contains: ). +at /<C:\Documents and Settings\Windows Xp\Desktop\pwgen.exe>Class/MOP +.pm line 135

    You are missing the package Crypt::Random::Source::Strong, which in this case you'll find in PPM in the module Crypt-Random-Source, so typing in cmd.exe the following command should fix that problem:

    ppm install Crypt-Random-Source

    Now, try the Perl script again, and look at the first error message again. Another missing module? Install that as well and keep going until you either have a different problem you can't solve (click reply on this post so i get notified) or the script works.

    Before i forget, you did read this

    ********************************************************************** +****** * WARNING: Applications generated by this evaluation copy of PerlApp w +ill * * stop working after the end of the evaluation period: 2012-0 +1-29 * ********************************************************************** +******
    in the output, didn't you. What you have is an evaluation product of a commercial software. So, after you got your script working, you'll have to decide if you want to buy the product or switch to something like Strawberry Perl and PAR.

    "Believe me, Mike, I calculated the odds of this succeeding against the odds I was doing something incredibly stupid… and I went ahead anyway." (Crow in "MST3K The Movie")