gpt4 book ai didi

perl - 自定义缺少模块消息

转载 作者:行者123 更新时间:2023-12-03 07:46:41 25 4
gpt4 key购买 nike

如果找不到我的模块之一,我希望能够向 STDERR 输出自定义错误消息。

据我了解,如果我使用 use 命令导入模块,则会在执行我的脚本之前发现该模块的缺失,这对实现我正在寻找的结果构成重大问题。

基本上我正在寻找的是在 Python 中捕获 ImportError 异常的 Perl 等价物。

最佳答案

要在 Perl 中捕获异常,您应该使用 eval运算符(operator)。如果代码传递给 eval死,然后将错误消息放入$@而是让您随心所欲地使用。

它看起来像这样

use strict;
use warnings;
use 5.010;

BEGIN {

eval 'use Xyz';

if ( $@ ) {
if ( $@ =~ /Can't locate (\S+)/ ) {
warn "$1 isn't installed";
}
else {
die $@;
}
}
}

say 'Continuing...';

输出
Xyz.pm isn't installed at E:\Perl\source\trap use.pl line 9.
Continuing...

关于perl - 自定义缺少模块消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28444773/

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