perl2exe can put Perl itself in one DLL, and any DLLs used
by the modules you load in their own DLLs.

In one recent example, I could compile the entire product in
one 2.8MB file, or I could break it into a 940KB main file,
a 680KB Perl interpreter DLL, and 19 other DLL files (most
of which were Tk related).

Other thougts in no particular order:

I've been using perl2exe for about 2 years now and have never
found a problem that I could not work around.  Some programming
issues are:
1) you have to use USE statements, not REQUIRE statements, since
only modules specified by USE statements are compiled in.
2) sometimes when a module you USE in turn USES a bunch of other
modules, perl2exe can't find them to incorporate unless you
explicitly also include their USE statements in your calling program.
3) A minor issue with environment variables:  If your program is
compiled using perl2exe, $^X contains the path to .EXE;
e.g., C:\whatever\progname.exe   If not compiled, $^X contains the
path to perl.exe instead.  So you should write a couple line routine
to determine the script dir so your program will work without change
as either a .pl or .exe.

The above and similar stuff is explained pretty clearly in a one pager
on their site.

A "hello world" program is about 680KB with Perl 5.6 (it was more
like 550KB with earlier versions of Perl).

There are versions for Linux and Unix too, though I've only
given the Linux version a 10 minute test (it seemed to work).
I asked, and was told there was no plan for a Pocket PC version,
though I'd love to see one so I could do some wireless p2p experiments.

Hope this helps.

-- Mark


-----Original Message-----
From: James Eshelman [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, February 20, 2002 2:42 PM
To: Mark Aisenberg; mongers of perl
Subject: Re: [Boston.pm] obfuscation/compiler/summary


Mark,
How about the opposite situation?  If you have to distribute several
independent exe's do they each have to roll-in the main perl binary?  That
could bulk up a distribution quite a bit.  It would be nice if you could put
the major part of the binary into a dll and a start-up stub of some sort
into each exe.  Perhaps the dynamic linking would slow the perl interpreter
down enough to make this undesireable.

Jim

----- Original Message -----
From: "Mark Aisenberg" <[EMAIL PROTECTED]>
To: "mongers of perl" <[EMAIL PROTECTED]>
Sent: Wednesday, February 20, 2002 1:46 PM
Subject: RE: [Boston.pm] obfuscation/compiler/summary


With perl2exe (my knowledge of the other product is old),
you can compile your EXEs with -small or -tiny switches
to have it put Perl libraries in DLLS which can be shared
by several apps.  This gets your EXEs down to a few tens
of KB; of course that doesn't help with memory footprint
or performance or the size of your initial distribution,
but it can make updating your EXEs smaller/easier since the
standard Perl libraries are unlikely to change often.  There
is also a -gui switch which makes Perl/Tk apps run without
the "DOS box" console window.

Can anyone offer some info on the amount of "obfuscation"
that these EXE packagers provide?


-- Mark Aisenberg ([EMAIL PROTECTED])


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
James Eshelman
Sent: Wednesday, February 20, 2002 11:24 AM
To: Greg London; mongers of perl
Subject: Re: [Boston.pm] obfuscation/compiler/summary


That's cool, Greg.   If you need to ship several executeables can they share
one perl binary somehow (some sort of dll-like scheme) or do they all roll
in their own?


----- Original Message -----
From: "Greg London" <[EMAIL PROTECTED]>
To: "mongers of perl" <[EMAIL PROTECTED]>
Sent: Wednesday, February 20, 2002 9:53 AM
Subject: [Boston.pm] obfuscation/compiler/summary



I purchased and downloaded
ActiveState's Perl Dev Kit 4.0
last night.

It compiled a perl script with
a bunch of Tk widgets without
me having to look at a single
FAQ, readme, or -help menu.

I was quite impressed with
how easy-to-use ActiveState
made their tools.

as it turns out, this solves
several problems in one fell swoop.

First, I can sell a stand-alone
executable, rather than have
to worry about customers trying
to install perl, and then get my
script to run.  and my customers
will be basic computer users.

Second, it gives me a level of
obfuscation for the program
that would be hard for me to
replicate on my own.

It's impossible to write uncrackable
software that is sold to the public,
but this is more like a lock on the
front door, knowing that professional
burgulars will simply smash a window.

and the only reason I'm taking time
to write this program is because I
hope to get some money back from selling it.

apparently, there are no open source
solutions for this application, and
one has been in need for several years.

Anyway, that's the summary:
ActiveState PDK 4.0 appears to
work very nicely. Now I just have
to finish the application.

Greg










Reply via email to