home *** CD-ROM | disk | FTP | other *** search
/ Netrunner 2004 October / NETRUNNER0410.ISO / regular / ActivePerl-5.8.4.810-MSWin32-x86.msi / _e153985e12a303f4c6c1ae18a0ca6286 < prev    next >
Text File  |  2004-06-01  |  882b  |  41 lines

  1. package subs;
  2.  
  3. our $VERSION = '1.00';
  4.  
  5. =head1 NAME
  6.  
  7. subs - Perl pragma to predeclare sub names
  8.  
  9. =head1 SYNOPSIS
  10.  
  11.     use subs qw(frob);
  12.     frob 3..10;
  13.  
  14. =head1 DESCRIPTION
  15.  
  16. This will predeclare all the subroutine whose names are 
  17. in the list, allowing you to use them without parentheses
  18. even before they're declared.
  19.  
  20. Unlike pragmas that affect the C<$^H> hints variable, the C<use vars> and
  21. C<use subs> declarations are not BLOCK-scoped.  They are thus effective
  22. for the entire file in which they appear.  You may not rescind such
  23. declarations with C<no vars> or C<no subs>.
  24.  
  25. See L<perlmodlib/Pragmatic Modules> and L<strict/strict subs>.
  26.  
  27. =cut
  28.  
  29. require 5.000;
  30.  
  31. sub import {
  32.     my $callpack = caller;
  33.     my $pack = shift;
  34.     my @imports = @_;
  35.     foreach $sym (@imports) {
  36.     *{"${callpack}::$sym"} = \&{"${callpack}::$sym"};
  37.     }
  38. };
  39.  
  40. 1;
  41.