{
my $safe = new Safe;
# because of opcodes used in "use strict":
- $safe->permit(qw(:default require));
+ $safe->permit(qw(:default require caller));
local $Storable::Eval = sub { $safe->reval(shift) };
$freezed = freeze $obj[0]->[1];
package strict;
-$strict::VERSION = "1.03";
+$strict::VERSION = "1.04";
+
+# Verify that we're called correctly so that strictures will work.
+unless ( __FILE__ =~ /(^|[\/\\])\Q@{[__PACKAGE__]}\E\.pm$/ ) {
+ # Can't use Carp, since Carp uses us!
+ my (undef, $f, $l) = caller;
+ die("Incorrect use of pragma '@{[__PACKAGE__,]}' at $f line $l.\n");
+}
my %bitmask = (
refs => 0x00000002,
Unknown 'strict' tag(s) '...'
+As of version 1.04 (Perl 5.10), strict verifies that it is used as
+"strict" to avoid the dreaded Strict trap on case insensitive file
+systems.
+
=cut