in reply to Re^2: require different modules per OS?
in thread require different modules per OS?
I was wondering how eval EXPR compares. We have the following without eval EXPR:
BEGIN { if ($^O =~ /win32/) { require Win32::TieRegistry; import Win32::TieRegistry Delimiter=>"/", ArrayValues=>0; } }
The following would be the equivalent using eval EXPR and a minimal expression:
BEGIN { if ($^O =~ /win32/) { my @import = ( Delimiter=>"/", ArrayValues=>0 ); eval "use Win32::TieRegistry \@import; 1" or die $@; } }
Or if you extended the expression beyond the necessary:
BEGIN { if ($^O =~ /win32/) { eval 'use Win32::TieRegistry Delimiter=>"/", ArrayValues=>0; 1 +' or die $@; } }
So it looks like there's no gain from using eval EXPR.
|
|---|