App-MonM
view release on metacpan or search on metacpan
lib/App/MonM/Util.pm view on Meta::CPAN
my $s = shift;
my @words = grep { defined && length } quotewords(qr/\s+|[\,\;]+/, 0, $s);
return @words;
}
sub getExpireOffset {
my $time = trim(shift // 0);
my %mult = (
's' => 1,
'm' => 60,
'h' => 60*60,
'd' => 60*60*24,
'M' => 60*60*24*30,
'y' => 60*60*24*365
);
if (!$time || (lc($time) eq 'now')) {
return 0;
} elsif ($time =~ /^\d+$/) {
return $time; # secs
} elsif ($time=~/^([+-]?(?:\d+|\d*\.\d*))([smhdMy])/) {
return ($mult{$2} || 1) * $1;
}
return $time;
}
lib/App/MonM/Util.pm view on Meta::CPAN
"monday" => "mon",
"tuesday" => "tue",
"wednesday" => "wed",
"thursday" => "thu",
"friday" => "fri",
"saturday" => "sat",
},
AT_DEFAULT => 'Sun-Sat',
SFT_DEFAULT => '[00:00-23:59]',
OFFSET_START => 0, # 00:00
OFFSET_FINISH => 60*60*24-1, # 23:59
};
sub new {
my $class = shift;
my %args = @_;
my $self = bless {
calendar => {}, # { channel_name => [ { weekday_index => [start, finish] } ] }
added => {}, # { channel_name => at }
}, $class;
t/03-timeof.t view on Meta::CPAN
# This is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#
#########################################################################
use Test::More tests => 5;
use App::MonM::Util qw/getTimeOffset/;
is(getTimeOffset("1h12m24s"), 4344, "1h12m24s");
is(getTimeOffset("-1h12m24s"), -4344, "-1h12m24s");
is(getTimeOffset("24m"), 60*24, "24m");
is(getTimeOffset("-24m"), -60*24, "-24m");
is(getTimeOffset("1h 12m 24s"), 4344, "1h 12m 24s");
1;
__END__
( run in 0.343 second using v1.01-cache-2.11-cpan-7add2cbd662 )