2017-02-02 7 views
0

Ich habe kleine Perl-Skript test.pl. Dieses Perl-Skript verwendet Eingabe als YAML-Datei database.yml Um diese Perl-Skript in ausführbare Datei zu konvertieren, führe ich folgenden Befehl unten angezeigt.Perl-Skript in ausführbare Datei Packaging konvertieren YAML-Datei in ausführbare Datei von Perl-Skript verwendet

pp -o -x teste.exe test.pl.

Es erstellt ausführbare, aber wenn ich versuche, diese ausführbare Datei zu starten, wird der Fehler ausgegeben, dass die Datei "database.yml" nicht in diesem Verzeichnis gefunden wurde.

Wie kann ich sicherstellen, dass ausführbare Datei enthält YAML-Datei beim Erstellen der Exe von Perl-Skript?

Hinweis: - Ich benutze Perl Verison 5.8 in Unix.

Antwort

0

Durch die Verwendung des -a Schalter:

pp -a database.yml -o -x teste.exe test.pl 

Von pp Dokumentation:

-a, --addfile=FILE|DIR 
     Add an extra file into the package. If the file is a directory, recursively add all files inside that directory, with links turned into actual files. 

     By default, files are placed under "/" inside the package with their original names. You may override this by appending the target filename after a ";", like this: 

      % pp -a "old_filename.txt;new_filename.txt" 
      % pp -a "old_dirname;new_dirname" 

     You may specify "-a" multiple times. 
+0

ich das versucht, aber hat nicht funktioniert. Muss ich ein extra spezifisches Perl-Modul hinzufügen, damit ich dieses Zeug benutzen kann oder in dem Standard-Perl-Paket eingebaut ist? – user2738709

+0

Welche Fehlermeldung haben Sie? Wie öffne ich die YAML-Datei in Ihrer Anwendung? Ich bin nicht über Ihre 'pp' Linie surren, aus der Dokumentation sollte es eher etwas wie' pp -x -o test.exe test.pl' mit dem -a hinzugefügt werden. Das -x sollte dafür sorgen, dass das zusätzliche Modul YAML benötigt wird, da es nicht Kern-Perl ist, andernfalls erzwinge es mit "-M YAML" oder "-M YAML :: XS". Auf eine nicht verwandte Anmerkung, Perl 5.8 ist jetzt wirklich alt, bitte finden Sie einen Weg, um zu aktualisieren, wenn Sie können. –

Verwandte Themen