Ich bin sehr neu in Perl, und vor kurzem das folgende Problem aufgetreten. Mein Perl-Code muss sich alle in einer einzigen Datei befinden (er wird von einem anderen Programm aufgerufen, auf das ich keinen Einfluss habe). Ich möchte jetzt das Skript mit einem Flag (z. B. perl myscript.pl -T
für Taint-Modus) ausführen, obwohl es zunächst ohne das Flag aufgerufen wird. Wie kann ich das tun, d.h. wie setze ich das Flag innerhalb der Perl-Datei?Making Perl-Skript * selbst ausführen * mit Flags
Eine Idee, die ich je hatte, die Datei Start selbst wieder zu machen (nach ohne Fahnen genannt wird), diesmal mit dem -T
Flag (durch einen Shell-Befehl wie system($^X, "myscript.pl -T", @ARGS);
Ausgabe). Funktioniert das? Irgendwelche besseren Ideen?
wenn Sie 'myscript steuern .pl' können Sie den Taint-Modus einstellen, indem Sie Ihre Shebang-Linie so ändern, dass sie zB '-T' enthält '#!/usr/bin/env perl -T ' –
Welcher Befehl wird verwendet, um das Skript im anderen Programm aufzurufen? Wenn es etwas wie '/ path/to/myscript.pl' ist, kannst du einfach' -T' zur Shebang-Zeile hinzufügen. – ThisSuitIsBlackNot
ein '-T' in der Shebang-Zeile aktiviert nicht unbedingt den Taint-Modus - wenn das Skript mit' Perl' von der Shell ohne '-T' aufgerufen wird, erhalten Sie einen fatalen Fehler – mob