App-timecalc
view release on metacpan or search on metacpan
script/timecalc view on Meta::CPAN
_
exit 0;
} elsif ($opts{version}) {
say "timecalc version $::VERSION";
exit 0;
}
}
sub help_msg {
join("",
"Type time expression into the prompt, e.g.: '19:10-20:45' (or '1910-2045'), '+02:05 -00:15' (or '+205 -0015').\n",
"For more details on available features, 'man timecalc'.\n",
"\n",
);
}
sub eval_loop {
require App::timecalc;
require File::HomeDir;
require IO::Stty;
require Term::ReadLine;
my $term = Term::ReadLine->new('timecalc');
my $prompt = "> ";
my $OUT = $term->OUT || \*STDOUT;
my $histfile = File::HomeDir->my_home . "/.timecalc_history";
# load history from file
if ($term->Features->{setHistory} && (-r $histfile)) {
#$log->tracef("Loading history from %s ...", $histfile);
open(my $fh, '<', $histfile)
or die "Can't open history file $histfile: $!\n";
chomp(my @history = <$fh>);
script/timecalc view on Meta::CPAN
# ref: http://www.perlmonks.org/?node_id=1003497
$attribs->{catch_signals} = 0;
} elsif ($term->ReadLine eq 'Term::ReadLine::Perl') {
# TR::Perl messes up colors
# doesn't do anything?
#$term->ornaments(0);
#$attribs->{term_set} = ["", "", "", ""];
}
print help_msg();
while ( defined ($_ = $term->readline($prompt)) ) {
my $res;
if ($_ eq 'help' || $_ eq '?') {
print help_msg();
next;
} elsif ($_ eq 'exit' || $_ eq 'quit') {
last;
}
eval { $res = App::timecalc::eval_time_expr($_) };
if ($@) {
warn "Error: $@\n";
( run in 1.851 second using v1.01-cache-2.11-cpan-6aa56a78535 )