我对 Perl 比较陌生,正在尝试将几个 .pm 文件组合到一个脚本中。大多数模块都可以很好地复制,但有些模块在到达文件末尾时出现错误,但脚本会继续打印。以下是代码示例:
$copy_line = 0;
sysopen(FILE, $file_path, O_WRONLY | O_CREAT, 0711);
sysopen(MODULE, $module_path, O_RDONLY | O_EXCL);
while(<MODULE>)
{
my $line = $_;
if(($line ne "# START\n") and ($copy_line eq 0))
{
}
else
{
print FILE "$line";
$copy_line = 1;
}
}
close FILE;
close MODULE;
每个模块都有开始和结束标签,我不复制任何使用语句,所以我知道什么时候停止复制。该模块的一个例子是
#!/usr/bin/perl
# START
some code to copy over
some more code to copy
even more code to copy
# END
在某些文件中发生的情况是我看到了结束标记,然后是模块中的重复代码。输出看起来像
# START
some code to copy over
some more code to copy
even more code to copy
# END
code to copy
even more code to copy
# END
这可能是什么原因造成的?谢谢,
-生锈的