sub load_class {
my $class = shift;
- if (ref($class) || !defined($class) || !length($class)) {
+ if ( ref($class)
+ || !defined($class)
+ || !length($class)
+ || $class !~ /^\w+(?::\w+)*$/ ) {
my $display = defined($class) ? $class : 'undef';
confess "Invalid class name ($display)";
}
# if the class is not already loaded in the symbol table..
unless (is_class_loaded($class)) {
# require it
- my $file = $class . '.pm';
- $file =~ s{::}{/}g;
- my $e = do { local $@; eval { require($file) }; $@ };
+ my $e = do { local $@; eval "require $class"; $@ };
confess "Could not load class ($class) because : $e" if $e;
}