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 )