NAME Util::Utl - Scalar::Util, List::Util, List::MoreUtils, String::Util & more (via one subroutine) VERSION version 0.0011 SYNOPSIS use Util::Utl; utl->first( { ... }, ... ) if ( utl->blessed( ... ) ) { } if ( utl->looks_like_number( ... ) ) { } DESCRIPTION Util::Utl exports a single subroutine "utl" which provides access to: Scalar::Util List::Util List::MoreUtils String::Util USAGE Util::Utl also provides some additional functionality Each function here is accessed in the same way: utl->$name( ... ) empty( $value ) Returns true if $value is undefined or has 0-length blank( $value ) Returns true if $value is undefined or is composed only of whitespace (\s) first( $code, ... ) List::Util::first first( $hash, @query, $options ) %hash = ( a => 1, b => 2, c => 3 ) ... = utl->first( \%hash, qw/ z a b / ) # Returns 1 For each name in @query, test $hash to see if it exists. Returns the value of the first entry found Returns undef if none exist $options (a HASH reference) are: exclusive True to throw an exception if more than 1 of query is present in $hash %hash = ( a => 1, b => 2, c => 3 ) ... = utl->first( \%hash, qw/ a b /, { exclusive => 1 } ) # Throws an exception (die) ... = utl->first( \%hash, qw/ a z /, { exclusive => 1 } ) # Does not throw an exception test A subroutine for testing whether a value should be included or not. Can be used to skip over undefined or empty values %hash = ( a => undef, b => '', c => 1 ) ... = utl->first( \%hash, qw/ a b c /, { test => sub { defined } } ) # Returns '' empty True to return an empty list instead of undef if none are found %hash = ( a => 1 ) ... = utl->first( \%hash, qw/ z x y / ) # Returns undef ... = utl->first( \%hash, qw/ z x y /, { empty => 1 } ) # Returns () AUTHOR Robert Krimen COPYRIGHT AND LICENSE This software is copyright (c) 2011 by Robert Krimen. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.