use Types::Standard qw(is_ArrayRef is_HashRef);
if (is_ArrayRef($var)) {
...;
}
elsif (is_HashRef($var)) {
...;
}
####
use Types::Standard qw(ArrayRef HashRef);
if (ArrayRef->check($var)) {
...;
}
elsif (HashRef->check($var)) {
...;
}
##
##
use Types::Standard qw(assert_Object assert_ArrayRef);
sub process_data {
my $self = assert_Object( $_[0] );
my $data = assert_ArrayRef( $_[1] );
...;
}
##
##
use Types::Path::Tiny qw( to_Path );
my $path = to_Path($thing);
##
##
use Types::Path::Tiny qw( assert_Path to_Path );
my $path = assert_Path( to_Path($thing) );
##
##
if (is_ArrayRef[Int]($var)) {
...;
}
##
##
use Types::Standard qw(ArrayRef Int);
BEGIN {
my $type = ArrayRef->of(Int);
*is_ArrayRef_of_Int = $type->compiled_check;
*assert_ArrayRef_of_Int = \&{ $type };
*to_ArrayRef_of_Int = sub { $type->coerce(@_) };
}
if (is_ArrayRef_of_Int($var)) {
...;
}