diff options
Diffstat (limited to 'contrib/perl5/lib/subs.pm')
| -rw-r--r-- | contrib/perl5/lib/subs.pm | 38 | 
1 files changed, 38 insertions, 0 deletions
| diff --git a/contrib/perl5/lib/subs.pm b/contrib/perl5/lib/subs.pm new file mode 100644 index 0000000000000..aa332a6785830 --- /dev/null +++ b/contrib/perl5/lib/subs.pm @@ -0,0 +1,38 @@ +package subs; + +=head1 NAME + +subs - Perl pragma to predeclare sub names + +=head1 SYNOPSIS + +    use subs qw(frob); +    frob 3..10; + +=head1 DESCRIPTION + +This will predeclare all the subroutine whose names are  +in the list, allowing you to use them without parentheses +even before they're declared. + +Unlike pragmas that affect the C<$^H> hints variable, the C<use vars> and +C<use subs> declarations are not BLOCK-scoped.  They are thus effective +for the entire file in which they appear.  You may not rescind such +declarations with C<no vars> or C<no subs>. + +See L<perlmodlib/Pragmatic Modules> and L<strict/strict subs>. + +=cut + +require 5.000; + +sub import { +    my $callpack = caller; +    my $pack = shift; +    my @imports = @_; +    foreach $sym (@imports) { +	*{"${callpack}::$sym"} = \&{"${callpack}::$sym"}; +    } +}; + +1; | 
