perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 28
Click for quality!




10.02.2012 / 21:01

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitrag*.pl in *.exe
Seitenanfang
Hallo,

ich habe eine Frage an euch :
kann man ein Perlscript zu einer datei.exe transformieren? wenn nicht:

ziel:( die *.pl soll in jedem PC funktionieren ohne perl zu installieren)

gibt es eine andere möglichkeit?

Datum: 19.06.2007-09:39

Beitragre: *.pl in *.exe
Seitenanfang
__Perl Script zu einer Ausführbaren Datei kompilieren__
http://wiki.perl-community.de/bin/view/Wissensbasis/PerlToExe

Datum: 19.06.2007-10:51

Beitragre: *.pl in *.exe
Seitenanfang
Hi dash,
ich habe die adresse die du mir gegeben hast besucht. habe versucht das modul PAR.pm zu installieren aber anscheinend funktioniert das ganze nicht.
1) ich habe das PAR.pm in C:\Win16App\Perl\lib\PAR.pm copiert.
2) zur sicherheit habe ich es auch in dem Ordner wo mein script steht copiert.
3) in meinem script use PAR;
4) dann bekomme ich diesen Fehler:
Can't locate PAR/Heavy.pm in @INC (@INC contains: CODE(0x2a6b9d8) D:/PlatformInstaller/../lib C:/Win16App/Perl/lib C:/Win16App/Perl/site/lib . CODE(0x2a6bb04)) at C:/Win16App/Perl/lib/PAR.pm line 358.
BEGIN failed--compilation aborted at Install_Platform_V1.0.pl line 21.
5)ich habe die Heavy.pm also dann in dem Ordner wo mein script steht und in
C:\Win16App\Perl\site\lib\Heavy.pm
6)und in meinem script use Heavy.pm aber kriege ich wieder die selbe Meldung:
Can't locate PAR/Heavy.pm in @INC (@INC contains: CODE(0x2a6b9d8) D:/PlatformInstaller/../lib C:/Win16App/Perl/lib C:/Win16App/Perl/site/lib . CODE(0x2a6bb04)) at C:/Win16App/Perl/lib/PAR.pm line 358.
BEGIN failed--compilation aborted at Install_Platform_V1.0.pl line 21.

im Command Prompt bekomme ich auch sowas
H:\>~/>pp -o archiv.par -p script.pl
'~' is not recognized as an internal or external command,
operable program or batch file.

weisst du warum?

Datum: 21.06.2007-12:32

Beitragre: *.pl in *.exe
Seitenanfang
>> ich habe das PAR.pm in C:\Win16App\Perl\lib\PAR.pm copiert.

Du solltest dass nicht einfach kopieren, sondern via ppm, wie jedes andere Modul auch, installieren.


ppm install PAR

Ein Link auf die Anleitung 'Wie installierere ich ein Modul' war auch mit auf der Seite mit angegeben.

>> im Command Prompt bekomme ich auch sowas
>> H:\>~/>pp -o archiv.par -p script.pl
>> '~' is not recognized as an internal or external command,
>> operable program or batch file.
Das '~/>' ist der Command Prompt, dass was unter Windows zum Beispiel 'H:\>' ist, der Befehl lautet nur


pp -o archiv.par -p script.pl

Datum: 21.06.2007-14:10

Beitragre: *.pl in *.exe
Seitenanfang
ich habe schon versucht das ganze schrittweise zu machen aber das sieht nur so aus:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

H:\>ppm
Can't locate SOAP/Lite.pm in @INC (@INC contains: C:/Win16App/Perl/lib C:/Win16A
pp/Perl/site/lib .) at C:/Win16App/Perl/site/lib/PPM.pm line 23.
BEGIN failed--compilation aborted at C:/Win16App/Perl/site/lib/PPM.pm line 23.
Compilation failed in require at C:\win16app\Perl\bin\ppm.pl line 8.
BEGIN failed--compilation aborted at C:\win16app\Perl\bin\ppm.pl line 8.

H:\>ppm install PAR
Can't locate SOAP/Lite.pm in @INC (@INC contains: C:/Win16App/Perl/lib C:/Win16A
pp/Perl/site/lib .) at C:/Win16App/Perl/site/lib/PPM.pm line 23.
BEGIN failed--compilation aborted at C:/Win16App/Perl/site/lib/PPM.pm line 23.
Compilation failed in require at C:\win16app\Perl\bin\ppm.pl line 8.
BEGIN failed--compilation aborted at C:\win16app\Perl\bin\ppm.pl line 8.

H:\>ppm> search <i>"PAR"</i>
The syntax of the command is incorrect.

H:\>ppm search <i>"PAR"</i>
The syntax of the command is incorrect.

H:\>c:\Win16App\perl\bin\>ppm install PAR
'c:\Win16App\perl\bin\' is not recognized as an internal or external command,
operable program or batch file.
???? ich weiss nicht warum bekomme ich diese Fehlermeldungen.

Datum: 21.06.2007-14:43

Beitragre: *.pl in *.exe
Seitenanfang
Warum kommt bei dir die Fehlermeldung 'Can't locate SOAP/Lite.pm in @INC'? Da ist doch irgendetwas nicht richtig installiert.


H:\>ppm> search <i>"PAR"</i>

Die HTML-Tags '<i>' und '</i>' gehoeren nicht dazu, ist ein Darstellungsfehler der Seite gewesen.

Wenn du in der Eingabeaufforderung bist


H:\>

gib 'ppm' und Enter ein, dann kommst du in den interaktiven Modus von PPM, der Prompt wird zu 'H:\>ppm>'. Dann gib 'install PAR' ein, damit das PAR-Modul installiert wird

H:\>ppm>install PAR

Doch sollte vorher schon eine Fehlermeldung auftreten, scheint irgendetwas mit der Perl- bzw. PPM-Installation nicht in Ordnung zu sein, dass muesste ggf. erst noch korrigiert werden.

Datum: 21.06.2007-16:04

Beitragre: *.pl in *.exe
Seitenanfang
schon bei der ersten eingabe kommt die meldung

H:\>ppm

Can't locate SOAP/Lite.pm in @INC (@INC contains: C:/Win16App/Perl/lib C:/Win16
pp/Perl/site/lib .) at C:/Win16App/Perl/site/lib/PPM.pm line 23.
BEGIN failed--compilation aborted at C:/Win16App/Perl/site/lib/PPM.pm line 23.
Compilation failed in require at C:\win16app\Perl\bin\ppm.pl line 8.
BEGIN failed--compilation aborted at C:\win16app\Perl\bin\ppm.pl line 8.
also irgendwas denn ist schief gegangen bei der Installaion am Anfang.

vielleicht funktioniert das nur mit activePerl und nicht mit PerlIDE.
ich muss es dann mit perl2exe versuchen.
weiss du zufällig wo ich das Program kostenlos finde?

Datum: 21.06.2007-16:44

Beitragre: *.pl in *.exe
Seitenanfang
>> vielleicht funktioniert das nur mit activePerl und nicht mit PerlIDE.
>> ich muss es dann mit perl2exe versuchen.

PerlIDE ist nur ein Frontend zum Perl-Interpreter und nicht der Perl-Interpreter selbst, im Hintergrund wird auch bei dir ein ActivePerl laufen.
PPM ist Teil von ActivePerl, so haette die Eingabe von 'ppm' eine andere Fehlermeldung gebracht, naemlich dass der Befehl nicht gefunden werden konnte. Ruf einmal


perl -v

auf, wenn in der Versionsinfo 'provided by ActiveState' vorkommt hast du definitiv ActivePerl.

Natuerlich koenntest du auch auf perl2exe ausweichen, das aendert aber immer noch nichts daran dass dein Installationssystem fuer Perlmodule (PPM) nicht richtig funktioniert.

Eventuell ist das fehlende Modul 'SOAP::Lite' installiert, kann aber nicht gefunden werden, da der Pfad in dem es liegt nicht in @INC steht. Um das herauszufinden muesstest du mal deine Festplatte nach der Datei 'Lite.pm' durchsuchen, sie sollte sich in einen Verzeichnis 'SOAP' finden lassen. Das Ueberverzeichnis des 'SOAP'-Verzeichnisses muss dem @INC hinzugefuegt werden.

Ist Lite.pm nicht aufzufinden, dann wird dieses Modul wahrscheinlich noch nicht installiert sein, dann wuerde ich es als erstes trotz der Fehlermeldung versuchen dieses Modul mit PPM zu installieren.


H:\>ppm

H:\>ppm> install SOAP::Lite

Wenn bei den Schritten von oben Fehlermeldungen auftreten, dann bitte mit posten.

Wenn das alles nichts hilft, kann man probieren die Perl-Installation zu reparieren. Ich gehe davon aus es handelt sich bei dir um ActivePerl, dann wuerde ich das Installer-Paket mit dem ActivePerl installiert wurde, erneut aufrufen und dann 'Modify' bzw. 'Aendern' waehlen, dann laesst sich das 'PPM'-Feature abwaehlen, dann einfach durchklicken um die Deinstallation von PPM abzuschlieszen.
Den gleichen Vorgang wiederholst du nun noch einmal um PPM wieder zu installieren.

Was besseres faellt mir im Moment auch nicht ein.

>> weiss du zufällig wo ich das Program kostenlos finde?

Schon mal perl2exe in Google eingegeben? Der erste Treffer ist die Webseite des Anbieters, dort laesst sich eine unregistrierte aber kostenfreie Version von perl2exe herunterladen. Damit lassens ich genauso Exe-Dateien von Perl-Scripten erstellen, nur wird beim Start der Exe eine Lizenzinfo ausgegeben. Auch so sollte man die Lizenzbedingungen zuvor sorgfaeltig lesen.

Datum: 21.06.2007-17:33

Beitragre: *.pl in *.exe
Seitenanfang
wir sind auf dem richtigen Weg

ich habe activeperl vom internet runtergeladen und habe das Ordner in C:\Win16App\Perl\site\lib copiert weil anscheinend gibt es kein activeperl bei mir:

perl -v

This is perl, v5.6.0 built for MSWin32-x86-multi-thread

Copyright 1987-2000, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.

und jetzt habe ich die Fehlermeldung:
H:\>ppm
PPM interactive shell (2.1.6) - type 'help' for available commands.
PPM> install PAR
Install package 'PAR?' (y/N): y
Installing package 'PAR'...
Error installing package 'PAR': Could not locate a PPD file for package PAR

Datum: 21.06.2007-19:40

Beitragre: *.pl in *.exe
Seitenanfang
Im Standard-Repository (von ActiveState) steht PAR nur fuer Perl v5.8 bereit, du musst ein weiteres Repository zum PPM hinzufuegen


H:\> ppm

ppm> repository add theoryx5 http://theoryx5.uwinnipeg.ca/ppmpackages


jetzt sollte sich PAR ueber 'install PAR' installieren lassen.

Datum: 21.06.2007-23:44

Beitragre: *.pl in *.exe
Seitenanfang
ich weiss nicht warum es nicht geklapt hat.
aber kein problem ich habe das problem gelöst in dem ich einfach eine subfunktion geschrieben habe die perl auf dem PC installiert wenn es nicht existiert. und funktioniert endlich sehr gut.

danke dir aber ich habe trotzdem wieder was gelernt in diesem Dialog

Datum: 09.07.2007-16:10

-






-
-