#! /usr/bin/env perl
use strict;
use warnings;
my %count;
my $print_line_num = 0;
use Getopt::Long;
GetOptions('line-num' => \$print_line_num);
my @lines = <>;
my $count = $print_line_num ?
sub { $_[1] - $_[0] } :
sub { scalar grep /^\t\* /, @lines[$_[0] .. $_[1]] };
$. = 0;
my $last_line = 1;
my $date;
my $writer;
foreach (@lines) {
++$.;
chomp;
if ( m/^(\d{4}-\d{2}-\d{2})\s+(.*)/ ) {
my $n = $count->($last_line, $.);
print "$date\t$writer\t$n\t", q{#}x($n) ,"\n" if $n > 0;
($date, $writer, $last_line) = ($1, $2, $.);
$date =~ tr/-/\t/;
$writer = sprintf '%.18s', $writer;
}
}