| Scalar-MoreUtils documentation | Contained in the Scalar-MoreUtils distribution. |
Scalar::MoreUtils - Provide the stuff missing in Scalar::Util
Version 0.02
use Scalar::MoreUtils qw(nil empty define default ifnil ifempty);
...
sub add {
my $left = default shift, 0;
my $right = default shift, 0;
return $left + $right;
}
sub greet {
return default shift, "This the default greeting!";
}
Similar to Hsah::MoreUtils and List::MoreUtils, Scalar::MoreUtils
contains trivial but commonly-used scalar functionality.
Essentially, provide some pretty trivial functionality that I find useful over and over. The value of this module will probably be blasted away by Perl 5.10.
Suggestions welcome.
Returns true if VALUE is not defined.
Returns true if VALUE is not defined or if VALUE is the empty string ("").
Returns VALUE if it is defined, otherwise returns the empty string ("").
Returns VALUE if it is defined, otherwise returns DEFAULT.
This is similar to the "//" in the Perl 5.10 ... well, not really, but kinda.
Returns VALUE if it is not nil, otherwise returns DEFAULT.
Read "ifnil(A,B)" as "ifnil A, then B, otherwise A"
ifnil behaves exactly the same as default.
Returns VALUE if it is not empty, otherwise returns DEFAULT.
Read "ifempty(A,B)" as "ifempty A, then B, otherwise A"
Robert Krimen, <rkrimen at cpan.org>
Please report any bugs or feature requests to
bug-scalar-moreutils at rt.cpan.org, or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Scalar-MoreUtils.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
You can find documentation for this module with the perldoc command.
perldoc Scalar::MoreUtils
You can also look for information at:
Copyright 2007 Robert Krimen, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Scalar-MoreUtils documentation | Contained in the Scalar-MoreUtils distribution. |
package Scalar::MoreUtils; use warnings; use strict; require Exporter; use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS); @ISA = qw(Exporter); %EXPORT_TAGS = ( all => [ qw(nil empty define default ifnil ifempty) ], ); @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our $VERSION = '0.02';
sub nil ($) { return ! defined $_[0] }
sub empty ($) { return nil $_[0] || 0 == length $_[0] }
sub define ($) { return defined $_[0] ? $_[0] : '' }
sub default ($$) { return defined $_[0] ? $_[0] : $_[1] }
*ifnil = \&default;
sub ifempty ($$) { return ! empty $_[0] ? $_[0] : $_[1] }
1; # End of Scalar::MoreUtils