in reply to [solved] Test question: how to exercise conditional module load?

You can always fake things in Perl:

$INC{YAML::Syck} = 1; # fake that YAML::Syck is loaded sub YAML::Syck::import { die }; # but make the ->import call fail require Your::Module; # Now it will try to use YAML

You can also use my module, Test::Without::Module, but there are other modules as well for testing in the absence of modules.

Replies are listed 'Best First'.
Re^2: Test question: how to exercise conditional module load?
by radiantmatrix (Parson) on Jun 17, 2008 at 20:38 UTC

    Thanks! It didn't work quite perfectly as provided, but it was enough info to get me a working solution:

    { local %INC; delete $INC{YAML.pm}; # make sure YAML isn't loaded $INC{'YAML/Syck.pm'} = 1; # fake loading of YAML::Syck sub YAML::Syck::import { die } require My::Module; ok( $INC{'YAML.pm'}, 'YAML loaded when YAML::Syck not present' ); }

    Thanks again!

    <radiant.matrix>
    Ramblings and references
    “A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.” — Herm Albright
    I haven't found a problem yet that can't be solved by a well-placed trebuchet