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