Acme::require::case - Make Perl's require case-sensitive
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 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.
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.
git clone https://github.com/dagolden/Acme-require-case.git
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
To install Acme::require::case, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell
For more information on module installation, please visit the detailed CPAN module installation guide.