好吧,我想刪除第一次出現的字符串,比方說,「狗」,在文件中,只有第一次出現。所以如果文件如下:Perl刪除第一次發生
這條狗很高興。
狗喜歡跑。
輸出將
的很高興。
狗喜歡跑。
我有以下代碼:
#!/usr/local/bin/perl
use warnings;
use strict;
my $file = $ARGV[0];
my $out = $ARGV[1];
open (IN, "<$file");
open (OUT, ">$out");
while(<IN>){
s/dog/ /;
print OUT $_;
}
close IN;
close OUT;
而且它的工作原理,但不是repacing只是一審,它替代了單詞的所有實例。我以爲我不得不使用全局修飾符g來替換所有實例?爲什麼它會替換我正在搜索的字符串的所有實例?這可能是一些簡單的錯誤,我沒有看到。
@eckes,是啊,我注意到誤讀的問題,並固定它在一分鐘前。 – ikegami 2012-07-16 14:47:13
偉大的工作。但要澄清,infile> outfile與infile outfile有什麼不同? – user1440061 2012-07-16 15:22:26
如果您使用'script.pl infile outfile',我的代碼會將'infile'和'outfile'視爲輸入文件。 – ikegami 2012-07-16 15:25:45