http://www.perlmonks.org?node_id=1027609


in reply to How do you use the if pragma?

My most frequent uses of if seem to be:

# Loading either "mro" or "MRO::Compat" depending # on Perl version... # use if $] >= 5.010, 'mro'; use if $] < 5.010, 'MRO::Compat'; # Load UNIVERSAL::DOES for Perl prior to 5.10. # use if $] < 5.010, 'UNIVERSAL::DOES';

It's pretty easy to emulate it anyway:

# Loading either "mro" or "MRO::Compat" depending # on Perl version... # BEGIN { if ($] >= 5.010) { require mro; mro->import } else { require MRO::Compat; MRO::Compat->import } }; # Load UNIVERSAL::DOES for Perl prior to 5.10. # BEGIN { require 'UNIVERSAL::DOES' if $] < 5.010; };

CPAN also has unless.

package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name