这个问题可能看起来很简单,但我在过去几天一直在思考这个问题,我找不到答案。
我有多级脚本架构(代码如下所示)
CallingScript.pl(包括顶级库并检查编译器错误)
do "IncludesConsumer.pm";
print "\n callingScript error : $@" if($@ || $!);
do "IncludesConsumer.pm";
print "\n callingScript error : $@" if($@);
do "IncludesConsumer.pm";
print "\n callingScript error : $@" if($@);
IncludesConsumer.pm(添加库 INCLUDES.pm 并有自己的功能)
do "INCLUDES.pm";
print "\nin IncludesConsumer";
INCLUDES.pm(多个模块在一个地方,作为一个库)
use Module;
print "\n in includes";
Module.pm(带有语法错误)
use strict;
sub MakeSyntaxError
{
print "\nerror in Module
}
1;
在概念上,一个核心模块(例如 Module.pm)可能包含语法错误。所以我需要在 CallingScript.pl 中捕获它们。即:我想Module.pm
在文件的(低级)中捕获语法错误CallingScript.pl
。
输出:
D:\Do_analysis>CallingScript.pl
in IncludesConsumer
in IncludesConsumer
in IncludesConsumer
为什么 CallingScript.pl 中没有发现编译器错误?请倾诉你的想法。
谢谢!