Frage

Wie kann ich einen externen Befehl ausführen und erfassen ihre Ausgabe in Perl6?

Perl5-Stil zurück-Zecken scheinen nicht zu arbeiten:

> my $results = `ls`;
Confused at line 1, near "my $results"

Synopsis 16 dokumentiert die run Methode, aber diese kehrt die Exit-Status statt der Ausgabe von stdout.

Ich bin mit der Rakudo Implementierung (rakudo-Sterne-2010.12).

War es hilfreich?

Lösung

Verwenden qqx oder qx stattdessen z.

> my $results = qqx{ls};

Larry Wall eine äquivalente Frage auf einer Mailing-Liste beantwortet:

[...]

: Was ersetzt Graviszeichen oder qx {}

qqx [] oder qq: x [] würde die genau sein äquivalent. qx [] oder q: x [] wäre das gleiche mit einfachen Anführungszeichen Semantik. (Es gibt wahrscheinlich keine Backticks für da wir die Reservierung, dass Zweck ` für benutzerdefinierte Sachen, und weil Backticks sind visuell schwer zu erzählen von einfachen Anführungszeichen in vielen Schriften.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top