Ich versuche einen schnellen automatischen Updater in Perl Windows zu erstellen. Ich habe festgestellt, dass wenn ich cpanp
anrufe, um das Update des Pakets zu installieren, es keine neue Version des Skripts installieren kann, weil das Skript gerade ausgeführt wird. Ich rufe momentan cpanp
mit CORE::system()
an. Wenn ich cpanp
mit exec()
aufrufen würde, würde das die ausführbare Datei zum Ersetzen freigeben? Oder hält Windows die Verbindung aufrecht, obwohl die Ausführung vollständig in cpanp
umgesetzt wurde?
Momentan sieht mein Prozessablauf so aus,
$VERSION
cpanp
, um das Update mit URL auszuführen. Würde system()
sich anders verhalten als exec()
auf Win32 bezüglich des Ersetzens der ausführbaren Datei? Unter Linux funktioniert es wie vorgesehen.
Ich habe es gerade getestet. exec
funktioniert sowohl unter Linux als auch unter Win32. Siehe diese Seite für Informationen zur Portabilität auf Perl .
Tags und Links windows perl exec cpan strawberry-perl