Common-Routine
view release on metacpan or search on metacpan
lib/Common/Routine.pm view on Meta::CPAN
package Common::Routine;
use Modern::Perl;
#use Carp;
use Exporter;
#use Data::Dumper;
use POSIX qw/ceil floor/;
use Number::Format qw/format_number/;
#use Math::Round;
our @ISA = ("Exporter");
our @EXPORT = ();
our @EXPORT_OK = qw/max min sum mean median var sd
trim ltrim rtrim ceil floor round format_number/;
our %EXPORT_TAGS = (
math => [qw/max min sum mean median var sd/],
str => [qw/trim ltrim rtrim/],
num => [qw/ceil floor round format_number/],
all => [qw/max min sum mean median var sd trim ltrim rtrim ceil floor round format_number/]
);
our $VERSION = '0.0.5'; # VERSION
# ABSTRACT: Provide and synthesize very commonly used routines that are not provided in perl's build-in routines.
sub round {
return unless @_;
my $decimal = @_ == 1 ? 0 : pop;
return Number::Format::round($_[0], $decimal);
}
sub max {
return unless @_;
my @elements = ref $_[0] ? @{$_[0]} : @_;
my $max = $elements[0];
map { $max = $_ if ($max < $_) } @elements;
return $max;
}
sub min {
return unless @_;
my @elements = ref $_[0] ? @{$_[0]} : @_;
my $min = $elements[0];
map { $min = $_ if ($_ < $min) } @elements;
return $min;
}
sub sum {
return unless @_;
my @elements = ref $_[0] ? @{$_[0]} : @_;
my $sum;
$sum += $_ for @elements;
return $sum;
}
sub mean {
return unless @_;
my @elements = ref $_[0] ? @{$_[0]} : @_;
( run in 0.819 second using v1.01-cache-2.11-cpan-39bf76dae61 )