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 2.080 seconds using v1.01-cache-2.11-cpan-6aa56a78535 )