首先,我对Perl完全不熟悉,我需要从文件中删除一个字符串。
我的代码:
#!/usr/bin/perl -w
use warnings;
use strict;
my $server_a = 'xxx.test.ch';
print "$server_a\n";
perl -pli -e "s/$server_a//" '/Users/user/Downloads/exports';
当我执行此脚本时,我收到此错误:
syntax error at nfs_test.sh line 9, near "pli -e "
Execution of nfs_test.sh aborted due to compilation errors.
我发现什么不对,我希望你能帮助我。
答案 0 :(得分:3)
#! /usr/bin/perl
use warnings;
use strict;
@ARGV = '/Users/user/Downloads/exports';
$^I = '~';
my $server_a = quotemeta 'xxx.test.ch';
s/$server_a//, print while <>;
@ARGV数组包含参数,它由菱形运算符迭代。
$^I
相当于-i
选项。
你可能需要quotemeta,因为你不是指&#34;除了换行符之外的任何东西&#34;通过服务器名称中的点。