📄 rad_counter.pl
字号:
#!/usr/bin/perl## $Id: rad_counter.pl,v 1.1 2003/05/20 14:17:06 aland Exp $#use warnings ;use GDBM_File ;use Fcntl ;use Getopt::Long;my $user = '';my $divisor = 1;my $match = '.*';## This should be fixed...#$filename = '';## Print out only one user,## Or specifiy printing in hours, minutes, or seconds (default)#GetOptions ('user=s' => \$user, 'match=s' => \$match, 'file=s' => \$filename, 'hours' => sub { $divisor = 3600 }, 'minutes' => sub { $divisor = 60 }, 'seconds' => sub { $divisor = 1 } );## For now, this must be specified by hand.#if ($filename eq '') { die "You MUST specify the DB filename via: --file = <filename>\n";}## Open the file.#my $db = tie(%hash, 'GDBM_File', $filename, O_RDONLY, 0666) or die "Cannot open$filename: $!\n";## If given one name, give the seconds#if ($user ne '') { print $user, "\t\t", int ( unpack('L',$hash{$user}) / $divisor), "\n"; undef $db; untie %hash; exit 0;}## This may be faster, but unordered.#while (($key,$val) = each %hash) {#foreach $key (sort keys %hash) { # # These are special. next if ($key eq "DEFAULT1"); next if ($key eq "DEFAULT2"); # # Allow user names matching a regex. # next if ($key !~ /$match/); # # Print out the names... print $key, "\t\t", int ( unpack('L',$hash{$key}) / $divisor), "\n";}undef $db;untie %hash;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -