内容

名称

Module::Loaded - 标记模块为已加载或未加载

概要

use Module::Loaded;

$bool = mark_as_loaded('Foo');   # Foo.pm is now marked as loaded
$loc  = is_loaded('Foo');        # location of Foo.pm set to the
                                 # loaders location
eval "require 'Foo'";            # is now a no-op

$bool = mark_as_unloaded('Foo'); # Foo.pm no longer marked as loaded
eval "require 'Foo'";            # Will try to find Foo.pm in @INC

描述

在测试应用程序时,您经常会发现自己需要在测试环境中提供通常由外部模块提供的功能。与其手动修改 %INC 来标记这些外部模块为已加载,从而避免 perl 尝试加载它们,这个模块提供了一种非常简单的方法来标记模块为已加载和/或未加载。

函数

$bool = mark_as_loaded( PACKAGE );

将包标记为已加载到 perl 中。PACKAGE 可以是裸字或字符串。

如果模块已经加载,mark_as_loaded 会对此发出警告,并告诉您 PACKAGE 已从哪里加载。

$bool = mark_as_unloaded( PACKAGE );

将包标记为未加载到 perl 中,这与 mark_as_loaded 恰好相反。PACKAGE 可以是裸字或字符串。

如果模块已经卸载,mark_as_unloaded 会对此发出警告,并告诉您 PACKAGE 已被卸载。

$loc = is_loaded( PACKAGE );

is_loaded 会告诉您 PACKAGE 是否已被标记为已加载。PACKAGE 可以是裸字或字符串。

如果 PACKAGE 尚未加载,则返回 false;如果成功,则返回加载位置。

错误报告

请将错误或其他问题报告给 <[email protected]<gt>。

作者

此模块由 Jos Boumans <[email protected]> 编写。

版权

此库是自由软件;您可以根据与 Perl 本身相同的条款重新分发和/或修改它。