2009-08-21 3 views
2

Was ist der plattformübergreifendste Weg, ein pPerl-Skript von ant auszuführen?Was ist der plattformübergreifendste Weg, um ein Perl-Skript von Ant auszuführen?

Windows mag nicht das Perl-Skript als die ausführbare Datei. Gibt es eine andere Möglichkeit, als Perl nur mit einer OS-spezifischen ausführbaren Datei auszuführen und das Perl-Skript als Argument zu übergeben?

+0

Welche Perl verwenden Sie? Wie spezifiziert du es in Ant? Was ist der Fehler, den Sie bekommen? –

+0

Für Fenster, Dieses Perl ist, v5.8.9 gebaut für mswin32-x86-Multi-Thread (mit 12 registrierten Patches finden Sie perl -V für weitere Einzelheiten) Urheberrecht 1987-2008, Larry Wall Binary build 826 [290470] bereitgestellt von ActiveState http://www.ActiveState.com Gebaut 24. Mai 2009 09: 21: 0I Ich wollte nur das Perl-Skript als die ausführbare Datei angeben, da Unix die #! und Windows hat die .pl-Erweiterung Bindung. Gambit

Antwort

1

Haben Sie versucht, Perl eine benutzerdefinierte Ant-Ziel zu schaffen für den Aufruf (nennen wir es call-perl-script) und die Umsetzung dieser Aufgabe schaltet auf einen anderen Teilaufgabe auf dem OS-basierten (wie call-perl-script-windows, call-perl-script-osx, etc.)?

Etwas basierend auf this previous question oder this oder this?

+0

ich versuchte, nicht spezifisch os Kontrollen zu tun. – Gambit

+1

Es gibt keinen Weg um ihn herum. Wenn Ihre Ant-Ziele auf verschiedenen Plattformen funktionieren sollen, müssen Sie plattformspezifischen Code schreiben, wenn plattformspezifische Funktionen (wie das Starten eines Prozesses) erforderlich sind. Was ich vorschlage ist, es schön zu verpacken. –

2

Haben Sie den Befehl ant <exec> berücksichtigt? Mit dem Attribut os können Sie angeben, welches Betriebssystem verwendet werden soll.

Der Haken wäre, dass Sie einen spezifischen Aufruf für jedes bekannte Betriebssystem benötigen, auf dem das Perl-Skript verwendet wird. Es ist wahrscheinlich sicherer, einen OS-Check zu machen.

0

Windows mag nicht das Perl-Skript als die ausführbare Datei.

Entweder Sie konfigurieren Windows-Dateien ausführen .pl (Hilfe ftype, Hilfe Assoc)

ftype PerlScript=perl.exe %1 %* 
assoc .pl=PerlScript 

oder Sie führen Sie das Skript durch pl2bat (geschieht automatisch, wenn Sie ExtUtils verwenden :: Makemaker-Skript zu installieren) . Wenn Sie pl2bat verwenden, überprüfen Sie bitte die resultierende Datei und stellen Sie sicher, dass Sie mit den Ergebnissen zufrieden sind.

Sie könnten auch PAR/pp verwenden, um eine .exe

Verwandte Themen