Bio-Phylo
view release on metacpan or search on metacpan
lib/Bio/Phylo/Util/CONSTANT.pm view on Meta::CPAN
else {
return;
}
}
}
else {
$looks_like_number = \&Scalar::Util::looks_like_number;
}
undef($@);
}
sub looks_like_number($) { return $looks_like_number->(shift) }
sub looks_like_object($$) {
my ( $object, $constant ) = @_;
my $type;
eval { $type = $object->_type };
if ( $@ or $type != $constant ) {
throw 'ObjectMismatch' => 'Invalid object!';
}
else {
return 1;
}
}
sub looks_like_implementor($$) {
return UNIVERSAL::can( $_[0], $_[1] );
}
sub looks_like_instance($$) {
my ( $object, $class ) = @_;
if ( ref $object ) {
if ( blessed $object ) {
return $object->isa($class);
}
else {
return ref $object eq $class;
}
}
else {
return;
}
}
sub looks_like_hash(@) {
if ( scalar(@_) % 2 ) {
throw 'OddHash' => 'Odd number of elements in hash assignment';
}
else {
return @_;
}
}
sub looks_like_class($) {
my $class = shift;
my $path = $class;
$path =~ s|::|/|g;
$path .= '.pm';
if ( not exists $INC{$path} ) {
eval { require $path };
if ($@) {
throw 'ExtensionError' => $@;
}
}
( run in 0.596 second using v1.01-cache-2.11-cpan-65fba6d93b7 )