Test::use::ok(3pm) Perl Programmers Reference Guide Test::use::ok(3pm)

# [NAME](#NAME)

Test::use::ok - Alternative to Test::More::use\_ok

# [SYNOPSIS](#SYNOPSIS)

```
    use ok 'Some::Module';
```

# [DESCRIPTION](#DESCRIPTION)

According to the **Test::More** documentation, it is recommended to run use\_ok() inside a "BEGIN" block, so functions are exported at compile-time and prototypes are properly honored.

That is, instead of writing this:

```
    use_ok( 'Some::Module' );
    use_ok( 'Other::Module' );
```

One should write this:

```
    BEGIN { use_ok( 'Some::Module' ); }
    BEGIN { use_ok( 'Other::Module' ); }
```

However, people often either forget to add "BEGIN", or mistakenly group "use\_ok" with other tests in a single "BEGIN" block, which can create subtle differences in execution order.

With this module, simply change all "use\_ok" in test scripts to "use ok", and they will be executed at "BEGIN" time. The explicit space after "use" makes it clear that this is a single compile-time action.

# [SEE ALSO](#SEE_ALSO)

Test::More

# [MAINTAINER](#MAINTAINER)

[Chad Granum &lt;exodist@cpan.org&gt;](#Chad)

# [CC0 1.0 Universal](#CC0_1.0_Universal)

To the extent possible under law, 唐鳳 has waived all copyright and related or neighboring rights to Test::use::ok.

This work is published from Taiwan.

&lt;https://creativecommons.org/publicdomain/zero/1.0/&gt;

2026-10-21 perl v5.44.0

---

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