The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package Algorithm::Accounting::Report::Imager;
use Algorithm::Accounting::Report -Base;
use Imager::Graph::Pie;
use Digest::MD5 qw(md5_hex);
use FreezeThaw qw(thaw);
use List::Util qw(sum);

our $VERSION = '0.01';

sub report_occurrence_percentage {
  my ($field,$occhash) = @_;
  my $occ  = $occhash->{$field};
  my (@labels, @values);
  for(sort {$occ->{$b} <=> $occ->{$a} } keys %$occ) {
      push @labels, $_;
      push @values, $occ->{$_};
  }
  my $chart = Imager::Graph::Pie->new;
  my $img = $chart->draw(
      labels => \@labels,
      data => \@values,
      size => [640,480],
     );
  my $filename = md5_hex($occ);
  $self->save($img,$filename);
}

sub report_field_group_occurrence_percentage {
  my $i = shift; # Only the i-th field group
  my $field_groups = shift;
  my $group_occurrence = shift;
  my @field = @{$field_groups->[$i]};
  my $occ  = $group_occurrence->[$i];
  my $rows = sum(values %$occ);
}

sub save {
    my ($obj,$file) = @_;
    for my $format (qw (png gif jpg tiff ppm)) {
        if ($Imager::formats{$format}) {
            $obj->write(file=>"${file}.${format}")
                or die $obj->errstr;
            print STDERR "${file}.${format} saved";
            last;
        }
    }
}

__DATA__

=head1 NAME

Algorithm::Accounting::Report::Text - generate text version report

=head1 COPYRIGHT

Copyright 2004 by Kang-min Liu <gugod@gugod.org>.

This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

See <http://www.perl.com/perl/misc/Artistic.html>

=cut