App-datecalc
view release on metacpan or search on metacpan
script/datecalc view on Meta::CPAN
}
sub eval_loop {
require App::datecalc;
require File::HomeDir;
require IO::Stty;
require Term::ReadLine;
my $calc = App::datecalc->new;
my $term = Term::ReadLine->new('datecalc');
my $prompt = "> ";
my $OUT = $term->OUT || \*STDOUT;
my $histfile = File::HomeDir->my_home . "/.datecalc_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/datecalc view on Meta::CPAN
# TR::Gnu traps our INT handler
# 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} = ["", "", "", ""];
}
while ( defined ($_ = $term->readline($prompt)) ) {
my $res;
if ($_ eq 'help' || $_ eq '?') {
say "Type date expression into the prompt, e.g.: 2014-06-26 + 2 week.";
say "For more details on available features, 'man datecalc'.";
say "";
next;
} elsif ($_ eq 'exit' || $_ eq 'quit') {
last;
}
eval { $res = $calc->eval($_) };
if ($@) {
warn "Error: $@\n";
} else {
( run in 0.990 second using v1.01-cache-2.11-cpan-0b5f733616e )