PDK discussion

Perl Dev Kit usage questions; Perl Dev Kit practices and project questions

Building 64bit executable using PDK

I would like to create a 64-bit executable (x86_64) on Mac OS using PDK as opposed to a Universal executable (x386/x86_64) in order to reduce the size of my application. However, perlapp issues error messages: error : Mismatch between perlapp (i386/x86_64) and xxx (x86_64). Producing a Universal Binary is not possible

Is it possible to use PDK for building a 64-bit executable? Please advise...

"Illegal declaration of subroutine Perl6::Form::form" with PerlApp 9.2.1 W7/64


Using Perl 5.016, PerlApp 9.2.1 on Windows 7 / 64, with the following code:

use 5.014;
use warnings;
use strict;
use Time::HiRes;
use Perl6::Form 'form';
use Encode;
use Win32::Console;
print 'foo';

I get the following error when executing the compiled version of the script:

Illegal declaration of subroutine Perl6::Form::form at /Perl6/Form.pm line 1062.
BEGIN failed--compilation aborted at array_push-slice_compare.pl line 7.


Unable to access dll created with perlctrl

Greetings all,

I am having problems with perlctrl (perl v5.14.3 64 bit, Perl Dev kit 9.2.1 build 296433 64 bit running on Windows 7 Pro 64 bit).
I am trying to create a dll from a perl module. The module works as written, but I cannot create a working dll.
I ran perlctrl –t and copied the output into my .pm file and modified the appropriate parts and saved it as a .ctrl file.
Perlctrl successfully creates a dll which I placed in Windows\System32 (just for fun, I also tried Windows\SysWOW64 with the same results) and registered successfully with regsvr32.

Compiled versus native perl apps

Is there a noticeable difference in speed between running a compiled perl exe and the native pl script?

We are running compiled exes on a Windows 2003 server and they seem to be slow, especially when multiple users are on the system. Memory seems fine, but the CPU is at 100% constantly. Static web pages display quickly but the perl exe page do not.

The server does not have Perl installed. Would it be faster to install Perl on the server and then run the native pl scripts?

Issue with a perl binary which is created from sunos (processor) x86 and tried to run at sunos procesor (sparc )

We created a binary from below configured machine using PDK9.2

OS: SunOS(solaris)
os version:5.10
system : Generic_137138-09 i86pc i386 i86pc
64-bit amd64 applications
32-bit i386 applications

The command we used to create a binary from the above machine using,
perlapp --norunlib --target solaris-sparc-32 --exe sample-solaris-sparc-32 --perl /opt/ActivePerl-5.10/bin/perl-static sample.pl

Our plan is that to execute the binary in solaris-sparc-32
Target machine configuration:
OS: SunOS(solaris)
os version:5.10
64-bit sparcv9 applications
32-bit sparc applications

PDK 9.2 target failed with solaris-sparc-32

Our version is

SunOS CTSINPKNVECA 5.10 Generic_137138-09 i86pc i386 i86pc

64-bit amd64 applications
sse4.1 ssse3 cx16 sse3 sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu
32-bit i386 applications
sse4.1 ssse3 cx16 sse3 sse2 sse fxsr mmx cmov sep cx8 tsc fpu

and our client version is

SunOS sn4z 5.10 Generic_142909-17 sun4u sparc SUNW,SPARC-Enterprise

64-bit sparcv9 applications
ima fmaf vis2 vis popc
32-bit sparc applications
ima fmaf vis2 vis popc v8plus div32 mul32

PerlSvc and Windows Service Recovery


Does anyone know how to make a NT service created using PerlSvc recoverable - i.e use the restart properties of the service within Windows?

There doesn`t seem to be much (i.e. anything) in the documentation for PerlSvc. Any pointers/tips would be appreciated.



.exe previously worked and has now stopped working due to missing .dll

I have a compiled program running on win2008r2 64-bit that has worked flawlessly for months. Just recently, I am thinking after a windows update or AV update, it broke. Originally, it was because the OpenSSL libraries were "missing" - libeay32.dll and ssleay32.dll. I tried unsuccessfully tried to register them and eventually resorted to just putting them in the folder along with the .exe which gets me to my next error.

Can't load 'auto/DBD/Pg/Pg.dll' for module DBD::Pg: load_file:The specified module could not be found at /DynaLoader.pm line 214, line 310.

EXE created by perlapp fails with cryptic error

I am creating an executable file from a Perl script using Perlapp 9.2.1 build 296433. I have ActiveState Perl 5.16.3 installed on my build system. The .pl runs fine, and the .exe is created without any errors, but when I run it, I get:

Could not find a suitable Params::Validate implementation: Can't locate Params/Validate/XS.pm in @INC (@INC contains: P:\sandbox) at /

Module/Runtime.pm line 317.
Can't locate Params/Validate/PP.pm in @INC (@INC contains: P:\sandbox) at /

Module/Runtime.pm line 317.

dll created with perlctrl doesn't contain methods


I'm trying to make a dll file from *.pm with perlctrl. After running "perlctrl tempadd.pm" I registered the output dll file with "regsvr32 tempadd.dll". Unfortunately I can't execute the method from my test vbs script. Can anyone tell me, what I'm doing wrong ?

I'm thankful for help.

The used code is the following :

tempadd.pm :

package tempadd;

sub testme {
        return "test";


=begin PerlCtrl

    %TypeLib = (
        PackageName     => 'MyPackage::MyName',