package if;
-our $VERSION = '0.02';
+$VERSION = '0.05';
sub work {
my $method = shift() ? 'import' : 'unimport';
+ die "Too few arguments to `use if' (some code returning an empty list in list context?)"
+ unless @_ >= 2;
return unless shift; # CONDITION
my $p = $_[0]; # PACKAGE
- eval "require $p" or die; # Adds .pm etc if needed
-
+ (my $file = "$p.pm") =~ s!::!/!g;
+ require $file; # Works even if $_[0] is a keyword (like open)
my $m = $p->can($method);
goto &$m if $m;
}
use MODULE ARGUMENTS;
+Above C<< => >> provides necessary quoting of C<MODULE>. If not used (e.g.,
+no ARGUMENTS to give), you'd better quote C<MODULE> yourselves.
+
=head1 BUGS
The current implementation does not allow specification of the