equal
deleted
inserted
replaced
4 # $Id$ |
4 # $Id$ |
5 # $URL$ |
5 # $URL$ |
6 |
6 |
7 use constant USAGE => <<'#'; |
7 use constant USAGE => <<'#'; |
8 |
8 |
9 Usage: !ME! item [delay [db]] |
9 Usage: !ME! --insert item [delay [db]] # insert an item |
10 !ME! --list [db] |
10 !ME! --list [db] # list all items |
11 !ME! --stat [db] |
11 !ME! --stat [db ...] # print short statistic |
12 !ME! --clean [days [db]] |
12 !ME! --clean [days [db ...]] # remove items not used since <days> days |
|
13 !ME! --dbs # list dbm files in default directory |
13 |
14 |
14 Defaults: delay: !$DEFAULT{delay}! |
15 Defaults: delay: !$DEFAULT{delay}! |
15 db: !$DEFAULT{db}! |
16 db: !$DEFAULT{db}! |
16 days: !$DEFAULT{days}! |
17 days: !$DEFAULT{days}! |
17 # |
18 # |
31 my %DEFAULT = getDefault(); |
32 my %DEFAULT = getDefault(); |
32 $DEFAULT{days} = 7; |
33 $DEFAULT{days} = 7; |
33 |
34 |
34 my $opt_list; |
35 my $opt_list; |
35 my $opt_stats; |
36 my $opt_stats; |
|
37 my $opt_insert; |
36 my $opt_help; |
38 my $opt_help; |
37 my $opt_clean; |
39 my $opt_clean; |
|
40 my $opt_dbs; |
38 |
41 |
39 sub iterate(\%$); |
42 sub iterate(\%$); |
40 |
43 |
41 MAIN: { |
44 MAIN: { |
42 |
45 |
43 GetOptions( |
46 GetOptions( |
44 "list!" => \$opt_list, |
47 "list!" => \$opt_list, |
|
48 "insert!" => \$opt_insert, |
45 "stats!" => \$opt_stats, |
49 "stats!" => \$opt_stats, |
46 "clean!" => \$opt_clean, |
50 "clean!" => \$opt_clean, |
|
51 "dbs!" => \$opt_dbs, |
47 "help!" => \$opt_help, |
52 "help!" => \$opt_help, |
48 ) or die ME.": Bad usage, try ".ME." --help.\n"; |
53 ) or die ME.": Bad usage, try ".ME." --help.\n"; |
49 |
54 |
50 if ($opt_help) { |
55 if ($opt_help) { |
51 ($_ = USAGE) =~ s/!(.*?)!/eval $1/eg; |
56 ($_ = USAGE) =~ s/!(.*?)!/eval $1/eg; |
118 print "$. items deleted from $db\n"; |
123 print "$. items deleted from $db\n"; |
119 } |
124 } |
120 exit 0; |
125 exit 0; |
121 } |
126 } |
122 |
127 |
123 print unseen(@ARGV, 10) . "\n"; |
128 if ($opt_dbs) { |
|
129 print join("\n", glob(getDBDir() . "/*")), "\n"; |
|
130 exit 0; |
|
131 } |
|
132 |
|
133 if ($opt_insert) { |
|
134 print unseen(@ARGV); |
|
135 exit 0; |
|
136 } |
124 } |
137 } |
125 |
138 |
126 # Helper to iterate over our hash and call the passed |
139 # Helper to iterate over our hash and call the passed |
127 # "callback" function (item, v0, v1, delta) |
140 # "callback" function (item, v0, v1, delta) |
128 sub iterate(\%$) { |
141 sub iterate(\%$) { |