#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
use JSON::XS qw/decode_json/;
use Pod::Usage;
use Schedule::Easing;
use Schedule::Easing::Stream;
# todo: replay mode, historical checkin
loadjson {
my ($fn)=@_;
my $t=load($fn);
my @res=@{ decode_json($t) };
foreach my $E (@res) { $$E{match}//=''; $$E{match}=qr/$$E{match}/ }
return @res;
}
my %opt=(
schedule =>undef,
json
',
help =>0,
time =>undef,
);
GetOptions(
'schedule=s'=>\$opt{schedule},
'json=s' =>\$opt{json},
'timestamps'=>\$opt{timestamps},
'expiration'=>\$opt{expiration},
'check' =>\$