=head1 VERSION
-Version 0.02
+Version 0.05
=cut
-our $VERSION = '0.02';
+our $VERSION = '0.05';
=head1 SYNOPSIS
foo->meth; # "'foo'->meth" if you have use'd foo somewhere,
# or "foo()->meth" otherwise
print foo 'wut'; # print to the filehandle foo if it's actually one,
- # or "foo()->print('wut')" otherwise
+ # or "print(foo('wut'))" otherwise
} # ... but function calls will fail at run-time if you don't
# actually define foo somewhere
=head1 DESCRIPTION
-This pragma lexically enables the parsing of any bareword as a subroutine name, except those which corresponds to an entry in C<%INC> (expected to be class names) or whose symbol table entry has a IO slot (expected to be filehandles).
+This pragma lexically enables the parsing of any bareword as a subroutine name, except those which corresponds to an entry in C<%INC> (expected to be class names) or whose symbol table entry has an IO slot (expected to be filehandles).
You can pass options to C<import> as key / value pairs :
=back
+This module is B<not> a source filter.
+
=cut
BEGIN {
sub _fetch {
(undef, my $data, my $func) = @_;
- return if $data->{guard};
- return unless $func !~ /::/ and not exists $core{$func};
+ return if $data->{guard} or $func =~ /::/ or exists $core{$func};
local $data->{guard} = 1;
my $hints = (caller 0)[10];
if ($hints and $hints->{subs__auto}) {
my $mod = $func . '.pm';
if (not exists $INC{$mod}) {
my $fqn = $data->{pkg} . '::' . $func;
- if (do { no strict 'refs'; not *$fqn{CODE} and not *$fqn{IO}}) {
+ if (do { no strict 'refs'; not *$fqn{CODE} || *$fqn{IO}}) {
my $cb = sub {
my ($file, $line) = (caller 0)[1, 2];
($file, $line) = ('(eval 0)', 0) unless $file && $line;
return;
}
-my $wiz = wizard data => sub { +{ pkg => $_[1] } },
+my $wiz = wizard data => sub { +{ pkg => $_[1], guard => 0 } },
fetch => \&_fetch,
store => \&_store;
Vincent Pit, C<< <perl at profvince.com> >>, L<http://www.profvince.com>.
-You can contact me by mail or on #perl @ FreeNode (vincent or Prof_Vince).
+You can contact me by mail or on C<irc.perl.org> (vincent).
=head1 BUGS