NAME
Acme::require::case - Make Perl's require case-sensitive
VERSION
version 0.013
SYNOPSIS
use Acme::require::case;
use MooX::Types::Mooselike::Base; # should be 'MooseLike'
# dies with: MooX/Types/Mooselike/Base.pm has incorrect case...
DESCRIPTION
This module overrides CORE::GLOBAL::require
to make a case-sensitive check for its argument. This prevents require foo
from loading "Foo.pm" on case-insensitive filesystems.
It does not respect any prior require
overrides, since it completely replaces require
semantics. Therefore, it should be loaded as early as possible, perhaps on the command line:
perl -MAcme::require::case myprogram.pl
It does not support hooks in @INC
and will croak if any are found.
You certainly don't want to run this in production, but it might be good for your editor's compile command, or in PERL5OPT
during testing.
If you're really daring you can stick it in your shell:
export PERL5OPT=-MAcme::require::case
This module walks the filesystem checking case for every require
, so it is significantly slower than the built-in require
function.
Global require
overrides are slightly buggy prior to Perl 5.12. If you really care about such things, load Lexical::SealRequireHints after you load this one.
SUPPORT
Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker at https://github.com/dagolden/Acme-require-case/issues. You will be notified automatically of any progress on your issue.
Source Code
This is open source software. The code repository is available for public review and contribution under the terms of the license.
https://github.com/dagolden/Acme-require-case
git clone https://github.com/dagolden/Acme-require-case.git
AUTHOR
David Golden <dagolden@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2013 by David Golden.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004