in reply to better ways than eval to dynamic load a module

Well, you could always do something like this:
my $file = "$op.pm"; $file =~ s/::/\//g; # / on *nix, \ on windows, etc. the point is: you +r local path separator require $file;
Roughly the same, but no eval. However, if you actually use this regexp on the modulename: /^[\w:]+$/s, then I'm pretty certain that it's not possible to put in anything that could be bad.
------------ :Wq Not an editor command: Wq