in reply to use or require ?

Basically, you want:

(my $filename = $module) =~ s-::|'-/-g; $filename .= ".pm"; require $filename or die "Couldn't load '$filename': $!";

If you want this to be more equivalent to use, wrap it in a BEGIN block.