version 1.2, 2020/08/04 02:22:44 |
version 1.5, 2020/08/04 02:28:24 |
|
|
#!/usr/bin/perl |
#!/usr/bin/perl |
# $AFresh1: report_time,v 1.1 2020/08/04 01:14:42 afresh1 Exp $ |
# $AFresh1: report_time,v 1.4 2020/08/04 01:24:44 afresh1 Exp $ |
use v5.16; |
use v5.16; |
use warnings; |
use warnings; |
|
|
|
|
} |
} |
} |
} |
|
|
|
my $total = 0; |
foreach my $date ( sort keys %total ) { |
foreach my $date ( sort keys %total ) { |
|
my $subtotal = 0; |
foreach my $key ( sort keys %{ $total{$date} } ) { |
foreach my $key ( sort keys %{ $total{$date} } ) { |
|
my $hours = $total{$date}{$key}->hours; |
|
|
# round to the quarter hour |
# round to the quarter hour |
my $hours = sprintf "%.2f", |
$hours = sprintf "%.02f", |
25 * sprintf "%.2f", $total{$date}{$key}->hours / 25; |
25 * sprintf "%.02f", $hours / 25; |
say "$date $hours $key";# if $hours != 0; |
|
|
say "$date $hours $key" if $hours != 0; |
|
|
|
$subtotal += $hours; |
|
$total += $hours; |
} |
} |
|
printf "# %s %.02f\n", $date, $subtotal; |
} |
} |
|
printf "# Total %.02f\n", $total; |
|
|
sub descr_to_key { |
sub descr_to_key { |
my ($descr) = @_; |
my ($descr) = @_; |
|
|
my @key = split /\s+/, $descr; |
my @key = split /\s+/, $descr; |
|
|
$key[-1] = $conversions{ $key[-1] } |
$key[-1] = $conversions{ lc $key[-1] } |
if @key < 3 and $conversions{ $key[-1] }; |
if @key < 3 and $conversions{ lc $key[-1] }; |
|
|
return "@key"; |
return "@key"; |
} |
} |