Show
Ignore:
Timestamp:
10/17/07 04:38:39 (15 months ago)
Author:
ogawa
Message:

Employs Carp module for WWW::CybozuOffice?6::Calendar.
Now supports Text::CSV module as well as Text::CSV_XS.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • cybozu2ical/trunk/lib/WWW/CybozuOffice6/Calendar.pm

    r448 r449  
    55use warnings; 
    66 
     7use Carp; 
    78use Encode qw/from_to/; 
    89use LWP::UserAgent; 
    910use URI; 
    1011use DateTime; 
    11 use Text::CSV_XS; 
    1212 
    1313our $VERSION = '0.20'; 
     
    4747        Password   => $this->{password} || '', 
    4848    }); 
    49     die 'Failed to access Cybozu Office 6: ' . $res->status_line 
     49    confess 'Failed to access Cybozu Office 6: ' . $res->status_line 
    5050        unless $res->is_success; 
    5151 
     
    6262    my ($file) = @_; 
    6363    local *FH; 
    64     open FH, $file or die "Failed to read $file"; 
     64    open FH, $file or confess "Failed to read $file"; 
    6565    my @lines; 
    6666    while (<FH>) { 
     
    8181    my $this = shift; 
    8282 
     83    my $csv; 
     84    if (eval('require Text::CSV_XS')) { 
     85        $csv = Text::CSV_XS->new({ binary => 1 }); 
     86    } elsif (eval('require Text::CSV')) { 
     87        $csv = Text::CSV->new(); 
     88    } else { 
     89        confess 'Text::CSV_XS or Text::CSV package is required'; 
     90    } 
     91 
    8392    my @items; 
    84     my $csv = Text::CSV_XS->new({ binary => 1 }); 
    8593    for my $line ($this->response) { 
    8694        $csv->parse($line) 
    87             or die 'Failed to parse CSV input'; 
     95            or confess 'Failed to parse CSV input'; 
    8896        my @fields = $csv->fields; 
    8997        my $num_fields = @fields - 1;