File Coverage

blib/lib/Data/Tabular/Dumper/CSV.pm
Criterion Covered Total %
statement 4 6 66.6
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 6 8 75.0


line stmt bran cond sub pod time code
1             # $Id: CSV.pm 456 2009-04-15 12:20:59Z fil $
2             package Data::Tabular::Dumper::CSV;
3 4     4   19 use strict;
  4         7  
  4         157  
4 4     4   1867 use Text::CSV_XS;
  0            
  0            
5              
6             use Data::Tabular::Dumper::Writer;
7              
8             use vars qw( @ISA );
9             @ISA = qw( Data::Tabular::Dumper::Writer );
10              
11             ###########################################################
12             sub open
13             {
14             my($package, $param)=@_;
15              
16             my( $file, $attr ) = @$param;
17              
18             my $self = $package->SUPER::open( $file );
19              
20             my $csv=Text::CSV_XS->new( $attr );
21             die "No CSV\n" unless $csv;
22              
23             my $fh = $self->{fh};
24             $self->{csv} = $csv;
25              
26             return $self;
27             }
28              
29              
30             ###########################################################
31             sub close
32             {
33             my($self)=@_;
34              
35             $self->SUPER::close();
36             delete $self->{csv};
37             }
38              
39             ###########################################################
40             sub write
41             {
42             my($self, $data)=@_;
43             my $fh=$self->{fh};
44             $self->{csv}->combine(@$data);
45             print $fh $self->{csv}->string;
46             }
47              
48             ###########################################################
49             sub page_start
50             {
51             my( $self, $name ) = @_;
52             my $fh=$self->{fh};
53             print $fh "$name\n";
54             }
55              
56             ###########################################################
57             sub page_end
58             {
59             my( $self, $name ) = @_;
60             my $fh=$self->{fh};
61             print $fh "\n";
62             }
63              
64             1;
65              
66             __END__