我编写了一个 Perl 函数来替换 JCL 脚本中的作业名称。这里使用了零宽度匹配。
sub modify_jcl_jobname ()
{
my ($jcl, $old, $new) = @_;
$jcl =~ s/
# The name must begin in column 3.
^(?<=\/\/)
# The first charater must be alphabetic or national.
($old)
# The name must be followed by at leat on blank.
# Append JCL keyword JOB
(?=\s+JOB)
/$new/xmig; # Multi-lines, ignore case.
return $jcl;
}
但是直到我做了一个简单的修改,删除了前导符号“^”,这个功能才起作用。
#before ^(?<=\/\/)
#after (?<=\/\/)
所以我想把问题的原因说清楚。任何答复将不胜感激。谢谢。