3 #* Saturday, July 22, 2006 19:41:14 PDT - Saturday, July 22, 2006 20:13:23 PDT [0.54] [0.54]
4 # - Set up dns slave/master between alpha and beta
6 # \Fee{\begin{itemize*}
7 # \item setting up rsyncd.conf to sync home directories
8 # \item running a test rsync
9 # \item add back missing accounts
16 use Params::Validate qw(validate_with :types);
22 my $hourly_rate = 50.00;
28 \setlength\LTleft{0pt plus 1fill minus 1fill}%
30 \begin{longtable}{|p{9cm}|r|r|r|r|}%
33 Description & Item Cost & Quantity & Cost & Total \\
37 if (/^\s*\*\s*([^-]+)\s+-.+\[([^\]]+)\]\s*\[[^\]]+\]/) {
39 print format_events(date => $date,
48 if (/^\s+\-\s*(.+)/) {
55 print format_events(date => $date,
62 my %param = validate_with(params => \@_,
63 spec => {time => {type => SCALAR,
65 date => {type => SCALAR,
67 total => {type => SCALARREF,
69 events => {type => ARRAYREF,
73 ${$param{total}} += $param{time} * $hourly_rate;
75 $param{date} =~ s/\s+\d+\:\d+\:\d+\s+[A-Z]{0,3}\s*//;
76 my $output = '\hline'."\n".' \mbox{'.$param{date}."}\n\n".
77 ' \begin{itemize*}'."\n";
78 $output .= join('',map {" \\item $_\n"} @{$param{events}});
79 $output .= ' \end{itemize*} & \$'.sprintf('%.2f',$hourly_rate).' & '.sprintf('%.2f',$param{time}).
80 ' & \$'.sprintf('%.2f',$param{time}*$hourly_rate).' & \$'.
81 sprintf('%.2f',${$param{total}}) .
87 \multicolumn{4}{|r|}{\textbf{Total}} & \$%
89 print sprintf('%.2f',$total)."%\n";