Remove whitespace from ends of lines (simply because it irritates me)
[p5sagit/p5-mst-13.2.git] / lib / if.pm
CommitLineData
cd16c24c 1package if;
2
0d7509de 3$VERSION = '0.04';
cd16c24c 4
5sub work {
6 my $method = shift() ? 'import' : 'unimport';
7 return unless shift; # CONDITION
a3e5cfd4 8
9 my $p = $_[0]; # PACKAGE
b9761643 10 (my $file = "$p.pm") =~ s!::!/!g;
0d7509de 11 require $file;
a3e5cfd4 12
13 my $m = $p->can($method);
14 goto &$m if $m;
cd16c24c 15}
16
17sub import { shift; unshift @_, 1; goto &work }
18sub unimport { shift; unshift @_, 0; goto &work }
19
201;
21__END__
22
23=head1 NAME
24
25if - C<use> a Perl module if a condition holds
26
27=head1 SYNOPSIS
28
29 use if CONDITION, MODULE => ARGUMENTS;
30
31=head1 DESCRIPTION
32
33The construct
34
35 use if CONDITION, MODULE => ARGUMENTS;
36
37has no effect unless C<CONDITION> is true. In this case the effect is
38the same as of
39
40 use MODULE ARGUMENTS;
41
42=head1 BUGS
43
44The current implementation does not allow specification of the
45required version of the module.
46
47=head1 AUTHOR
48
49Ilya Zakharevich L<mailto:perl-module-if@ilyaz.org>.
50
51=cut
52