package subs; our $VERSION = '1.02'; =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 and C declarations are not BLOCK-scoped. They are thus effective for the entire package in which they appear. You may not rescind such declarations with C or C. See L and L. =cut require 5.000; sub import { my $callpack = caller; my $pack = shift; my @imports = @_; foreach my $sym (@imports) { *{"${callpack}::$sym"} = \&{"${callpack}::$sym"}; } }; 1;