%calls = &call_type( $d, $d ); sub call_type { #FIELD NAMES (name, calltype, calls, minutes, revenue, cost, margin) my ( $name, $calltype, $calls, $minutes, $revenue, $cost, $margin, %calls ); my ( $day_start, $day_end ) = @_; my $sp = $msdbh->prepare( qq|usp_Dashboard_CallType \@start = '$day_start', \@end = '$day_end'|); $sp->execute or die( $sp->errstr ); while ( ( $name, $calltype, $calls, $minutes, $revenue, $cost, $margin ) = $sp->fetchrow() ) { $calls{ $day_start . ":" . $name } = [ "$calltype", "$calls", "$minutes", "$revenue", "$cost", "$margin" ]; } return %calls; } #### $VAR1 = { '20080110:Dedicated' => [ '1', '4722194', '12730293.0000', '65169.0000', '38247.000000', '41.311000' ], '20080110:Canada' => [ '4', '7898', '49191.0000', '168.0000', '248.000000', '-47.619000' ], '20080110:Directory' => [ '8', '18', '29.0000', '7.0000', '.000000', '100.000000' ], '20080110:Toll Free' => [ '5', '91114', '140912.0000', '-116.0000', '-703.000000', '-506.034400' ] };