perl::empty like php
sub empty
{
my ( $val_ref ) = @_;
#return 1 unless defined $val_ref;
unless ( my $ref = ref $val_ref ) {
return $val_ref ? 0 : 1;
}
elsif ( $ref eq 'SCALAR' ) {
return $$val_ref ? 0 : 1;
}
elsif ( $ref eq 'ARRAY' ) {
return scalar @{$val_ref} ? 0 : 1;
}
elsif ( $ref eq 'HASH' ) {
return scalar keys %{$val_ref} ? 0 : 1;
}
return undef;
}