如何在 perl6 中执行外部命令并捕获其输出?
如何在 Perl6 中执行外部命令并捕获其输出?
Perl5 风格的反引号似乎不起作用:
> my $results = `ls`;
Confused at line 1, near "my $results"
Synopsis 16 记录了运行 方法,但这返回退出状态而不是 stdout 的输出。
我正在使用 Rakudo 实现 (rakudo-star-2010.12)。
How can I execute an external command and capture its output in Perl6?
Perl5-style back-ticks don't seem to work:
> my $results = `ls`;
Confused at line 1, near "my $results"
Synopsis 16 documents the run method, but this returns the exit status rather than the output from stdout.
I'm using the Rakudo implementation (rakudo-star-2010.12).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
请使用 qqx 或 qx,例如:
Larry Wall 回答邮件列表上的一个等效问题:
Use qqx or qx instead, e.g.:
Larry Wall answered an equivalent question on a mailing list:
截至 2015 年 1 月:
最近验证的教程页面
最近的 Perl 6 发布页面
最近关于合理化由什么返回什么的讨论
As of Jan 2015:
Recently verified tutorial page
Recent Perl 6 advent page
Recent discussion of rationalizing what gets returned by what
这也可以使用带有
out
参数的run()
安全地完成(无需接触 shell):更多详细信息请参见
Proc
类。This can also be done safely (without touching a shell) using
run()
with theout
parameter:More details available in the
Proc
class.