use 5.006;
-our $VERSION = '1.01';
+our $VERSION = '1.03';
use warnings::register;
use strict qw(vars subs);
sub import {
my $callpack = caller;
- my ($pack, @imports) = @_;
+ my (undef, @imports) = @_;
my ($sym, $ch);
foreach (@imports) {
if (($ch, $sym) = /^([\$\@\%\*\&])(.+)/) {
- if ($sym =~ /\P{IsWord}/) {
+ if ($sym =~ /\W/) {
# time for a more-detailed check-up
if ($sym =~ /^\w+[[{].*[]}]$/) {
require Carp;
=head1 NAME
-vars - Perl pragma to predeclare global variable names (obsolete)
+vars - Perl pragma to predeclare global variable names
=head1 SYNOPSIS
=head1 DESCRIPTION
-NOTE: For variables in the current package, the functionality provided
-by this pragma has been superseded by C<our> declarations, available
-in Perl v5.6.0 or later. See L<perlfunc/our>.
+NOTE: For use with variables in the current package for a single scope, the
+functionality provided by this pragma has been superseded by C<our>
+declarations, available in Perl v5.6.0 or later, and use of this pragma is
+discouraged. See L<perlfunc/our>.
This will predeclare all the variables whose names are
in the list, allowing you to use them under "use strict", and