constant-tiny
view release on metacpan or search on metacpan
lib/constant/tiny.pm view on Meta::CPAN
package # hide from PAUSE
constant;
use 5.010;
use strict;
$constant::VERSION = $constant::tiny::VERSION;
my %forbidden = map +($_, 1), qw<
BEGIN INIT CHECK END DESTROY AUTOLOAD UNITCHECK
STDIN STDOUT STDERR ARGV ARGVOUT ENV INC SIG
>;
my $normal_constant_name = qr/^_?[A-Za-z0-9][A-Za-z0-9_]+\z/;
#
# import()
# ------
# import symbols into user's namespace
t/constant.t view on Meta::CPAN
use constant 'DESTROY' => 1 ;
use constant 'AUTOLOAD' => 1 ;
use constant 'STDIN' => 1 ;
use constant 'STDOUT' => 1 ;
use constant 'STDERR' => 1 ;
use constant 'ARGV' => 1 ;
use constant 'ARGVOUT' => 1 ;
use constant 'ENV' => 1 ;
use constant 'INC' => 1 ;
use constant 'SIG' => 1 ;
use constant 'UNITCHECK' => 1;
};
my @Expected_Warnings =
(
qr/^Constant name 'BEGIN' is a Perl keyword at/,
qr/^Constant subroutine BEGIN redefined at/,
qr/^Constant name 'INIT' is a Perl keyword at/,
qr/^Constant name 'CHECK' is a Perl keyword at/,
qr/^Constant name 'END' is a Perl keyword at/,
qr/^Constant name 'DESTROY' is a Perl keyword at/,
qr/^Constant name 'AUTOLOAD' is a Perl keyword at/,
qr/^Constant name 'STDIN' is forced into package main:: a/,
qr/^Constant name 'STDOUT' is forced into package main:: at/,
qr/^Constant name 'STDERR' is forced into package main:: at/,
qr/^Constant name 'ARGV' is forced into package main:: at/,
qr/^Constant name 'ARGVOUT' is forced into package main:: at/,
qr/^Constant name 'ENV' is forced into package main:: at/,
qr/^Constant name 'INC' is forced into package main:: at/,
qr/^Constant name 'SIG' is forced into package main:: at/,
qr/^Constant name 'UNITCHECK' is a Perl keyword at/,
);
unless ($] > 5.009) {
# Remove the UNITCHECK warning
pop @Expected_Warnings;
# But keep the count the same
push @Expected_Warnings, qr/^$/;
push @warnings, "";
}
# when run under "make test"
if (@warnings == 16) {
push @warnings, "";
push @Expected_Warnings, qr/^$/;
( run in 0.990 second using v1.01-cache-2.11-cpan-748bfb374f4 )