Syntax::Keyword::Assert(3pm)

Syntax::Keyword::Assert3pm

Assert keyword for perl with zero runtime cost

Usage

    use Syntax::Keyword::Assert;
    my $obj = bless {}, "Foo";
    assert($obj isa "Bar");
    # => Assertion failed (Foo=HASH(0x11e022818) isa "Bar")

Overview

Syntax::Keyword::Assert provides a syntax extension for Perl that introduces a "assert" keyword.

By default assertions are enabled, but can be disabled by setting $ENV{PERL_ASSERT_ENABLED} to false before this module is loaded:

    BEGIN { $ENV{PERL_ASSERT_ENABLED} = 0 }  # Disable assertions

When assertions are disabled, the "assert" are completely ignored at compile phase, resulting in zero runtime cost. This makes Syntax::Keyword::Assert ideal for use in production environments, as it does not introduce any performance penalties when assertions are not needed.

Keywords

assert

    assert(EXPR)

If EXPR is truthy in scalar context, then happens nothing. Otherwise, it dies with a user-friendly error message.

Here are some examples:

    assert("apple" eq "banana");  # => Assertion failed ("apple" eq "banana")
    assert(123 != 123);           # => Assertion failed (123 != 123)
    assert(1 > 10);               # => Assertion failed (1 > 10)

License

Copyright (C) kobaken.

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

Author

kobaken <[email protected]>

From libsyntax-keyword-assert-perl 0.16-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.