Module::Loaded(3pm) Perl Programmers Reference Guide Module::Loaded(3pm)

# [NAME](#NAME)

Module::Loaded - mark modules as loaded or unloaded

# [SYNOPSIS](#SYNOPSIS)

```
    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
```

# [DESCRIPTION](#DESCRIPTION)

When testing applications, often you find yourself needing to provide functionality in your test environment that would usually be provided by external modules. Rather than munging the %INC by hand to mark these external modules as loaded, so they are not attempted to be loaded by perl, this module offers you a very simple way to mark modules as loaded and/or unloaded.

# [FUNCTIONS](#FUNCTIONS)

## [$bool = mark\_as\_loaded( PACKAGE );](#$bool_=_mark_as_loaded%28_PACKAGE_%29;)

Marks the package as loaded to perl. "PACKAGE" can be a bareword or string.

If the module is already loaded, "mark\_as\_loaded" will carp about this and tell you from where the "PACKAGE" has been loaded already.

## [$bool = mark\_as\_unloaded( PACKAGE );](#$bool_=_mark_as_unloaded%28_PACKAGE_%29;)

Marks the package as unloaded to perl, which is the exact opposite of "mark\_as\_loaded". "PACKAGE" can be a bareword or string.

If the module is already unloaded, "mark\_as\_unloaded" will carp about this and tell you the "PACKAGE" has been unloaded already.

## [$loc = is\_loaded( PACKAGE );](#$loc_=_is_loaded%28_PACKAGE_%29;)

"is\_loaded" tells you if "PACKAGE" has been marked as loaded yet. "PACKAGE" can be a bareword or string.

It returns falls if "PACKAGE" has not been loaded yet and the location from where it is said to be loaded on success.

# [BUG REPORTS](#BUG_REPORTS)

Please report bugs or other issues to &lt;bug-module-loaded@rt.cpan.org&lt;gt&gt;.

# [AUTHOR](#AUTHOR)

This module by Jos Boumans &lt;kane@cpan.org&gt;.

# [COPYRIGHT](#COPYRIGHT)

This library is free software; you may redistribute and/or modify it under the same terms as Perl itself.

2026-10-21 perl v5.44.0

---

Document: Module::Loaded(3pm) from perl 5.44.0-r2 (Chainguard OS)
Source: https://github.com/Perl/perl5.git
