Wie kann ich einen externen Befehl ausführen und seine Ausgabe in Perl6 erfassen?
Perl5-Back-Ticks scheinen nicht zu funktionieren:
%Vor%Synopsis 16 dokumentiert die run -Methode, aber dies gibt den Exit-Status zurück und nicht den Ausgabe von stdout.
Ich benutze die Rakudo-Implementierung (Rakudo-Star-2010.12).
Verwenden Sie stattdessen qqx oder qx, z. B .:
%Vor%Larry Wall hat eine gleichwertige Frage in einer Mailingliste beantwortet:
[...]
: Was ersetzt Backtick oder qx {}?
qqx [] oder qq: x [] wäre genau gleichwertig. qx [] oder q: x [] wäre Das Gleiche gilt für die Semantik mit einzelnen Zitaten. (Es gibt wahrscheinlich keine Backticks für dieser Zweck, da wir reservieren ' für benutzerdefinierte Sachen und weil Backticks sind visuell schwierig zu erzähle aus einfachen Anführungszeichen in vielen Schriften.)
Dies kann auch sicher (ohne eine Shell zu berühren) erfolgen, indem run()
mit dem Parameter out
verwendet wird:
Weitere Details finden Sie in der Klasse Proc
.