NAME

builtins::compat - install all the new builtins from the builtin namespace (Perl 5.36+), and try our best on older versions of Perl

SYNOPSIS

use 5.008001;          # Or later
use builtins::compat;  # Loads all new builtins into lexical scope

# So now we can write...
if (reftype($x) eq 'ARRAY' || blessed($x) {
    print refaddr($x), "\n";
    if (is_weak($x)) {
        unweaken($x);
        print ceil( refaddr(($x)) / floor($y) ), "\n";
        weaken($x);
        print trim($description), "\n";
    }
}

DESCRIPTION

This module does the same as builtins on Perl 5.36 and above. On older versions of Perl, it tries to implement the same functions and then clean them from your namespace using namespace::clean.

The pre-5.36 versions of created_as_number, created_as_string, and is_bool may not be 100% perfect implementations.

BUGS

Please report any bugs to https://metacpan.org/release/builtins-compat/issues.

SEE ALSO

builtins, builtin, Scalar::Util.

AUTHOR

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE

This software is copyright (c) 2022 by Toby Inkster.

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

DISCLAIMER OF WARRANTIES

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.