in reply to Perl 5.17 change to use re 'eval' breaks Acme::EyeDrops

Maybe the resulting script should have the following header:

# If you want your scripts to look like this, you should use Acme::EyeDrops 2.00;

Acme::EyeDrops would then add a VERSION method (which will be automatically called by Perl at compile time) which could do something along the lines of:

sub VERSION { my $proto = shift; if (@_ and $_[0] >= 2.00 and $] >= 5.017) { require re; re->import("eval"); } $proto->SUPER::VERSION(@_); }

That is, if you need to add some code, then make it look like a badly line-wrapped comment.

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