> cat Module.pm script.pl; perl script.pl
#---- Module.pm
warn "NO NO NO";
package Module;
sub whatever {}
1;
#---- script.pl
use Module;
#---- output
NO NO NO at Module.pm line 1.
####
$\="\n";
package TST;
print "exists main::_ ", exists $main::{_};
print -f 'Module.pm' && -w _;
print "exists TST::_ ", exists $TST::{_};
print -w main::_;
##
##
# OUTPUT
exists main::_ 1
1
exists TST::_
1
##
##
#5.10
If any of the file tests (or either the "stat" or "lstat"
operators) are given the special filehandle consisting of a
solitary underline, then the stat structure of the previous
file test (or stat operator) is used, saving a system call.
# ... special cases + example code ...
# BUT ALSO
As of Perl 5.9.1, as a form of purely syntactic sugar, you can
stack file test operators, in a way that "-f -w -x $file" is
equivalent to "-x $file && -w _ && -f _