Acme::require::case - Make Perl's require case-sensitive
use Acme::require::case; use MooX::Types::Mooselike::Base; # should be 'MooseLike' # dies with: MooX/Types/Mooselike/Base.pm has incorrect case...
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:
This module walks the filesystem checking case for every
require, so it is significantly slower than the built-in
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.
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.
This is open source software. The code repository is available for public review and contribution under the terms of the license.
David Golden <email@example.com>
This software is Copyright (c) 2013 by David Golden.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004