NAME

bareword::filehandles - disables bareword filehandles

VERSION

version 0.007

SYNOPSIS

    no bareword::filehandles;

    open FH, $file            # dies
    open my $fh, $file;       # doesn't die

    print FH $string          # dies
    print STDERR $string      # doesn't die

DESCRIPTION

This module lexically disables the use of bareword filehandles with builtin functions, except for the special builtin filehandles STDIN, STDOUT, STDERR, ARGV, ARGVOUT and DATA.

METHODS

unimport

Disables bareword filehandles for the remainder of the scope being compiled.

import

Enables bareword filehandles for the remainder of the scope being compiled.

LIMITATIONS

Filetest operators (-X) can not be checked on Perl versions before 5.32, because hooking the op check function for these breaks stacked tests, e.g. -f -w -x $file.

SEE ALSO

perlfunc, B::Hooks::OP::Check.

AUTHOR

Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 - 2016 by Dagfinn Ilmari Mannsåker.

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