在Perl脚本中,有可能以某种方式有效地对Perl变量执行grep吗?同等的Perl函数同样可以接受,我只想让解决方案尽可能简单。
例如:
#!/usr/bin/perl
#!/bin/grep
$var="foobar";
$newvar="system('grep -o "foo" $var');
sprintf $newvar;
我期望sprintf $newvar
输出foo
。
也欢迎任何有关最佳做法的反馈。我对Perl并不是很熟悉。
答案 0 :(得分:5)
你可以在Perl中使用正则表达式匹配。无需调用外部“grep”命令。
$var =~ /foo/;
请阅读文档perlrequick,了解如何在变量中搜索模式。同样令人感兴趣的是Perl自己的grep。
$var="foobar";
if ( $var =~ /foo/){
print "found foo\n";
}