JCL スクリプトでジョブ名を置き換える Perl 関数を作成しました。ここではゼロ幅一致が使用されました。
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 (?<=\/\/)
そのため、問題の原因を明確にしたいと思います。返信をいただければ幸いです。ありがとう。