Hallo,
entschulidigt diese Frage aber ich bin Neuling was Perl angeht.
Ich habe ein PerlSkript geschrieben, das auf unterschiedlichen Rechnern ausgeführt werden soll. Allerdings kann nicht sicher gestellt werden das auf diesen Rechnern auch perl installiert ist.
Frage 1)
Besteht die Möglichkeit das Perlskript zu einem ausführbaren Programm zu kompilieren, das nicht mehr auf den Interpreter angewiesen ist?
Frage 2)
Wenn nicht, gibt es eine Perl light Version, mit weniger als 10MB die ich als zip Packet z.B. auf den anderen Rechnern verwenden kann?
Vielen Dank und viele Grüße,
Kalli
User since
2003-08-04
14371
Artikel
ModeratorIn
Schau Dir mal diese Wiki-Artikel an:
*)
.exe mit PAR
*)
.exe mit TinyPerl (Achtung! Ist ein relatives altes Perl)
Hi,
wollte mir nach der Anleitung dieses Modul installieren. Wie Üblich mit den gewohnten Fehlermeldungen...
So bin ich vorgegangen:
1. Modul runtergeladen (PAR-588.ppd für Perl 5.8.8 WIN XP) nach
D:/Anwendungen/Perl/
2. Installation (D:/Anwendungen/Perl/>ppm install PAR-588.ppd)
3. Fehlermeldung kassiert:
================================================
Can't call method "ok" on an undefined value at D:/Anwendungen/Perl/site/lib/PPM/UI.pm line 881, <$__ANONIO__> line 21.
================================================
In UI.pm steht folgendes im Umfeld dieser Zeile:
=================================================
..
877 # If the package spec came from a repository, assume the user knows
878 # what they're doing, and it's ready to be updated.
879 $pkg->make_complete($target);
880 my $ppd_ref = $pkg->getppd_obj($target);
881 return $ppd_ref unless $ppd_ref->ok;
882 if ($ppd_ref->result->from ne 'repository') {
883 # If the package is up to date (and $force isn't set), return.
...
=================================================
Irgendwelche Ideen???
Help...
User since
2003-08-04
14371
Artikel
ModeratorIn
Muss ich heute abend mal testen... Ich hatte den Fehler noch nicht.
User since
2007-06-09
575
Artikel
HausmeisterIn
tja PAR ist eben ziemlich inviduell, ich glaube das produziert jedes mal eine andere fehlermeldung :)
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
Hi zusammen,
hab das Problem nun Umgangen indem ich das ganze mit PPM online installiert habe. Gab zwar wieder ein Problem mit dem Proxy-Server, aber das sind wir ja gewohnt ;O)
Installation also abgeschlossen.
Wenn ich nun mein Archiv wie in der Anleitung erstellen will gibt es folgenden Fehlermeldung:
=================================================
C:\temp\seisert\A2>pp -o archiv.par create_delivery_package.pl
Der Befehl "pp" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
=================================================
Das PAR-Packet ist aber installiert:
=================================================
ppm> install PAR
Note: Package 'PAR' is already installed.
=================================================
Wohin wurde das Packet den installiert? Muss ich die Path Variable erweitern? Beim suchen nach PP habe ich lediglich einen pp.h gefunden. Muss ich evtl das Modul nochmal kompilieren?
Hi,
hab das mitllerweile gescheckt, dass die neuesten PAR Version aus 2 Komponenten besteht. Ich hatte nur die light version geladen, die nur aus Perl code besteht. Um aber mit pp executables z erstellen braucht man noch die PAR-Packer Komponente, sowie ein C Kompiler...
Hab das nun alles Organisiert und installiert... funzt leider immer noch nicht. Wenn ich nun Versuche ein Executable zu ertellen erscheint folgende Fehlermeldung:
=====================================================
C:\temp\seisert\A2>pp -o test.exe create_delivery_package.pl
Set up gcc environment - 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
Can't locate Module/ScanDeps.pm in @INC (@INC contains: D:/Anwendungen/Perl/lib D:/Anwendungen/Perl/site/lib .) at D:/Anwendungen/
Perl/site/lib/PAR/Packer.pm line 35.
BEGIN failed--compilation aborted at D:/Anwendungen/Perl/site/lib/PAR/Packer.pm line 35.
Compilation failed in require at D:/Anwendungen/Perl/site/lib/pp.pm line 5.
BEGIN failed--compilation aborted at D:/Anwendungen/Perl/site/lib/pp.pm line 5.
Compilation failed in require at D:\Anwendungen\Perl\bin\pp line 5.
BEGIN failed--compilation aborted at D:\Anwendungen\Perl\bin\pp line 5.
=====================================================
Ich vermute mal ich brauche noch ein weiteres Modul, aber welches...
Vorschläge?
thx. S.
User since
2003-08-04
14371
Artikel
ModeratorIn
Module::ScanDeps (da steht doch "Can't locate
Module/ScanDeps.pm" ;-) )
OK...Danke. SO nach dem Mittagessen lässt die Aufmerksamkeit maximal nach...
Ein weiters Modul später bin ich nun schon so weit:
===============================================================================
C:\temp\seisert\A2>pp -o test.exe create_delivery_package.pl
Set up gcc environment - 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
PAR::StrippedPARL::Static->get_raw() did not return the raw binary data for a PAR loader at D:/Anwendungen/Perl/site/lib/PAR/Strip
pedPARL/Base.pm line 141, <DATA> line 1.
Could not write temporary parl (class PAR::StrippedPARL::Static) to file 'C:\DOKUME~1\A149535\LOKALE~1\Temp\parlNaMY.exe' at D:/An
wendungen/Perl/site/lib/PAR/StrippedPARL/Base.pm line 65, <DATA> line 1.
D:\Anwendungen\Perl\bin\pp: Failed to extract a parl from 'PAR::StrippedPARL::Static' to file 'parlmzAFp7A.exe' at D:/Anwendungen/
Perl/site/lib/PAR/Packer.pm line 1149, <DATA> line 1.
===============================================================================
User since
2003-08-04
14371
Artikel
ModeratorIn
Mmhhh... Du solltest das vielleicht mal auf der PAR-Mailingliste melden.