Test::use::ok(3) User Contributed Perl Documentation Test::use::ok(3)

# [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;exodist7@gmail.com&gt;](#Chad)

# [COPYRIGHT AND LICENSE](#COPYRIGHT_AND_LICENSE)

Originally written by Audrey Tang (唐鳳) and released under CC0 1.0 Universal. With her permission (&lt;https://github.com/Test-More/test-more/issues/1092&gt;), it is now distributed under the same terms as Perl itself.

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

See &lt;https://dev.perl.org/licenses/&gt;

## [Original license: CC0 1.0 Universal](#Original_license:_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-19 perl v5.44.0

---

Document: Test::use::ok(3pm) from perl-test-simple 1.302226-r0 (Chainguard OS)
Source: https://github.com/Test-More/test-more
