if.pm
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PM 代码 · 共 57 行
PM
57 行
package if;$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 (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;}sub import { shift; unshift @_, 1; goto &work }sub unimport { shift; unshift @_, 0; goto &work }1;__END__=head1 NAMEif - C<use> a Perl module if a condition holds=head1 SYNOPSIS use if CONDITION, MODULE => ARGUMENTS;=head1 DESCRIPTIONThe construct use if CONDITION, MODULE => ARGUMENTS;has no effect unless C<CONDITION> is true. In this case the effect isthe same as of 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 BUGSThe current implementation does not allow specification of therequired version of the module.=head1 AUTHORIlya Zakharevich L<mailto:perl-module-if@ilyaz.org>.=cut
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?