in reply to Re: [DUP] Re^3: constants wont optimize
in thread constants wont optimize

I can't call "require".

You seem to have lost track of what you said because you're the one who used require. You said

use if eval { require mod; 1 }, qw' constant haveMod 1 ';

is ugly because constant is being used. I pointed out that it's simply not true. Not only does that code not work, but it can be written as

use constant haveMod => eval { require mod; };

I am sniffing to see what PMs were loaded before the "use" that loads my PM.

Asked and answered. Or if you want to check for multiple modules,

use constant { map { no strict 'refs'; ( my $constant = $_ ) =~ s/:://g; "have$constant" => ${"${_}::VERSION"} } qw( Foo::Mod Bar::Mod ); };