Acme::require::case - Make Perl's require case-sensitive


version 0.007


  use Acme::require::case;

  use MooX::Types::Mooselike::Base; # should be 'MooseLike'

  # dies with: MooX/Types/Mooselike/ has incorrect case...


This module overrides CORE::GLOBAL::require to make a case-sensitive check for its argument. This prevents require foo from loading "" 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

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.


Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker at 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.

  git clone git://


David Golden <>


This software is Copyright (c) 2013 by David Golden.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004