0

我正在用 Perl 编写程序。我需要打开一个现有文件并只替换其中的一个单词。所以我需要知道如何使用 Perl 替换文件的一个单词或一行。

谁能告诉我该怎么做?

4

2 回答 2

6

当然,这是您需要做的:

  1. 打开文件进行阅读。
  2. 打开一个临时文件进行写入。
  3. 虽然你还没有到达文件的末尾,
    1. 从输入文件中读取一行。
    2. 用于s///更改线路。
    3. 将可能修改的行打印到输出文件。
  4. 关闭这两个文件。
  5. rename输出文件到输入文件的名称。
于 2013-01-05T06:25:40.060 回答
1

第一次使用文件处理程序打开文件

open(KI,"$gy"); #$gy contain your file location

现在打开文件后执行以下操作:

while(my $line= <KI>)
{
if($_=~'word or pattern to be found')
{
$_=~ s/word_pattern to be changed/new word/;
}
}

例如:要在字符串中用 London 替换出现的 london,我们可以使用 s/london/London/

请注意,两个正则表达式(伦敦和伦敦)总共被三个斜杠包围。这个表达式的结果是替换的次数,所以在这种情况下它要么是 0(假)要么是 1(真)。

如果您遇到任何困难,请回复,将很乐意提供帮助

于 2013-01-05T07:19:33.990 回答