您可以完全按照以下方式调用命令:
system("free -m | grep Mem");
Run Code Online (Sandbox Code Playgroud)
从文档:
如果只有一个标量参数,则检查参数是否为shell元字符,如果有,则将整个参数传递给系统的命令shell进行解析(这在Unix平台上是/ bin/sh -c,但在其他平台).如果参数中没有shell元字符,则将其拆分为单词并直接传递给execvp,这样效率更高.
您可以使用其他方法来调用外部命令,例如open:
open my $fh, "-|", "free -m | grep Mem" or croak "failed to run pipeline";
# and now read from $fh as usual
Run Code Online (Sandbox Code Playgroud)