http://qs321.pair.com?node_id=95246

Hello monks.

If you ever wanted to compile a perl script into binary executable, you've probably been told you need to get ActiveState's perl2exe (which ain't free or opensource).

I want to change that.

I've created a sourceforge project i've dubbed the "PerlCompiler" (through helpful suggestions from Jouke and Petruchio -- /tell me if i forgot somebody).

The "description" is:

Do you have a perl script you'd like to distribute in binary executable form?
Then the Perl Compiler is for you, whatever your OS may be, as long as there is a perl port for it (you can run perl on it).

The website resides at http://perlcompiler.sourceforge.net/, where you can find more information about the project (currently not containing much more than this post, but will be the place to go for the Perl Compiler). I am new to sourceforge (and running an open source project), so be patient.

This project is GPL'ed (mening it's open source, and if you make any changes to it, you gotta open source it as well).

It is currently in its planning stage, which is the reason for this meditaton.

Help is needed in every possible way.

In particular, me and Jouke (the two members so far), have no idea what is needed programmatically, besides an interface ;).

Originally, we'll develop it as a console application, adding on a gui once we have a console version that works.

Now I've heard of B::Bytecode, and it is experimental, but it's a starting point. I've also run accross perlcc, but we don't wanna produce c-source from the perl sourcecode, we just wanna produce an executable.

So I figure we gotta gain access to a compiled version of a perl program, preferably directly from perln, whether it be in that machine's native machine code or pure perl bytecode and produce a valid binary executable for that machine.

Keep in mind that the language we're leaning for doing this in is preferably perl, but c++ or java will do fine. I'm a little skeemish about pure c, but hey, if you know how to achieve this, it's all good.

This is an open call for any and all ideas on how to achieve this (any relevant experience always preffered ;).

ps. - please don't just reply saying you think this is a cool idea, I know it is, I just don't know where to start to implement it ;)

update: This will be the only update to this node, short of tyepo's. See what Jouke said, and note his enthusiasm. Let's do it!

 
___crazyinsomniac_______________________________________
Disclaimer: Don't blame. It came from inside the void

perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;"