#! /usr/bin/perl use lib "lib"; use Odin; use DBI; use POSIX; Odin::cmdline_who; my $op = shift(@ARGV) // "help"; if ($op eq "help") { print <selectall_arrayref ("SELECT tag, stamp, url FROM odin_shorturl WHERE owner = ? ORDER BY stamp", undef, $Odin::WHO)}) { my ($tag, $stamp, $url) = @$r; my $t = strftime "%Y-%m-%d %H:%M:%S %z", localtime $stamp; printf "%-25s %-12s %s\n", $t, $tag, $url; } } elsif ($op eq "new") { @ARGV == 1 or Odin::fail "usage: new URL"; my ($url) = @ARGV; my $tag = Odin::new_shorturl $url; print "$Odin::SHORTURL/$tag\n"; } elsif ($op eq "get") { @ARGV >= 0 or Odin::fail "usage: get TAG ..."; if (@ARGV == 1) { print Odin::get_shorturl $ARGV[0], "\n"; } else { for my $tag (@ARGV) { printf "%-12s %s\n", $tag, Odin::get_shorturl $tag; } } } elsif ($op eq "del") { @ARGV >= 0 or Odin::fail "usage: del TAG ..."; Odin::delete_shorturl @ARGV; } else { Odin::fail "unknown operation `$op'"; }