gpt4 book ai didi

Perl 无法修改替换中的常量项

转载 作者:行者123 更新时间:2023-12-05 00:49:50 25 4
gpt4 key购买 nike

我有 Perl 脚本用来删除不必要的标签,这些标签使我正在创建的 xml pdf 文件膨胀

#!/usr/bin/perl

#use strict;

use DirHandle;

my $sourcefile = shift;
my $outputfile = "new" . $sourcefile;

open SOURCEFILE, "$sourcefile" or die;
open OUTPUTFILE, ">$outputfile" or die;

$flag = 0;
foreach $line (<SOURCEFILE>) {
if($line=~ /<\?templateDesigner StyleID aped2\?>\n/) {
if($flag == 1) {
line=~ s/[\t]*<\?templateDesigner StyleID aped2\?>\n//gi;
}
$flag=1;
}
elsif($line=~ /<\?templateDesigner StyleID aped3\?>\n/) {
if($flag == 1) {
$line=~ s/[\t]*<\?templateDesigner StyleID aped3\?>\n//gi;
}
$flag=1;
}
elsif($line=~ /<\?templateDesigner StyleID apcb1\?>\n/) {
if($flag == 1) {
$line=~ s/[\t]*<\?templateDesigner StyleID apcb1\?>\n//gi;
}
$flag=1;
}
else {
$flag=0;
}
print OUTPUTFILE $line;
}

close SOURCEFILE;
close OUTPUTFILE;

我运行此脚本的结果是以下错误。

无法在 d:\Temp\PDFPatch2.pl 第 1 行的替换 (s///) 中修改常量项
7、靠近“s/[\t]*<\?templateDesigner StyleID aped2\?>\n//gi;”
由于编译错误,d:\Temp\PDFPatch2.pl 的执行中止。

抱歉对perl了解不多。

最佳答案

不要关机strict .
开启 warnings .

这可能会清楚地表明您在第 17 行打错了字,并省略了 $从前面$line .

关于Perl 无法修改替换中的常量项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26713167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com