F
Frank Burkhardt
Hi everyone,
I'm trying to use a cpan-package but I don't want to depend on it because
sometimes it's unavailable and there's an alternative (which is slower).
<problem>
use strict;
use foo::bar qw(MY_CONSTANT)
if ( defined(foo::bar) ) {
foo::bar::foobar(MY_CONSTANT);
} else {
system("foobar_slow");
}
</problem>
This example will not work, of course - but this one will - at least partly:
<partlysolved>
eval "use foo::bar qw(MY_CONSTANT);"
if ( $@ ne '' ) {
foo::bar::foobar(MY_CONSTANT);
} else {
system("foobar_slow");
}
</partlysolved>
Problems left:
* MY_CONSTANT is not available when "use foo::bar" is done inside eval
* I have a "non-strict"-script now but I like "strict" better :-( .
Does anyone know how to solve one or both of these problems?
Thank you,
Frank
I'm trying to use a cpan-package but I don't want to depend on it because
sometimes it's unavailable and there's an alternative (which is slower).
<problem>
use strict;
use foo::bar qw(MY_CONSTANT)
if ( defined(foo::bar) ) {
foo::bar::foobar(MY_CONSTANT);
} else {
system("foobar_slow");
}
</problem>
This example will not work, of course - but this one will - at least partly:
<partlysolved>
eval "use foo::bar qw(MY_CONSTANT);"
if ( $@ ne '' ) {
foo::bar::foobar(MY_CONSTANT);
} else {
system("foobar_slow");
}
</partlysolved>
Problems left:
* MY_CONSTANT is not available when "use foo::bar" is done inside eval
* I have a "non-strict"-script now but I like "strict" better :-( .
Does anyone know how to solve one or both of these problems?
Thank you,
Frank