exigrey.pl
changeset 23 bce276394054
parent 22 91803f1e2741
child 25 de6564667c1b
equal deleted inserted replaced
22:91803f1e2741 23:bce276394054
     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(\%$) {