[BACK]Return to Todo.pm CVS log [TXT][DIR] Up to [local] / todotxt / Text-Todo / lib / Text

Diff for /todotxt/Text-Todo/lib/Text/Todo.pm between version 1.2 and 1.3

version 1.2, 2009/07/10 23:26:14 version 1.3, 2010/01/06 19:54:56
Line 1 
Line 1 
 package Text::Todo;  package Text::Todo;
   
 # $RedRiver: Todo.pm,v 1.1.1.1 2009/07/09 18:21:34 andrew Exp $  # $RedRiver: Todo.pm,v 1.2 2009/07/10 22:26:14 andrew Exp $
   
 use warnings;  use warnings;
 use strict;  use strict;
Line 22 
Line 22 
         my $self = bless anon_scalar(), $class;          my $self = bless anon_scalar(), $class;
         my $ident = ident($self);          my $ident = ident($self);
   
         $file_of{$ident} = $file;          if ($file) { $self->load($file); }
   
         if ($file) {  
             $self->load;  
         }  
   
         return $self;          return $self;
     }      }
   
     sub load {      sub file {
         my ( $self, $file ) = @_;          my ( $self, $file ) = @_;
         my $ident = ident($self);          my $ident = ident($self);
   
         if ($file) {          if ($file) {
             $file_of{$ident} = $file;              $file_of{$ident} = $file;
         }          }
         else {  
             $file = $file_of{$ident};  
         }  
   
         croak 'load requires a filename' if !$file;          return $file_of{$ident};
       }
   
       sub load {
           my ( $self, $file ) = @_;
           my $ident = ident($self);
   
           $file = $self->file($file) || croak 'load requires a filename';
   
         my @list;          my @list;
         open my $fh, '<', $file or croak "Couldn't open [$file]: $!";          open my $fh, '<', $file or croak "Couldn't open [$file]: $!";
         while (<$fh>) {          while (<$fh>) {
Line 60 
Line 60 
         my ( $self, $file ) = @_;          my ( $self, $file ) = @_;
         my $ident = ident($self);          my $ident = ident($self);
   
         if ($file) {          $file = $self->file($file) || croak 'save requires a filename';
             $file_of{$ident} = $file;  
         }  
         else {  
             $file = $file_of{$ident};  
         }  
   
         croak 'save requires a filename' if !$file;  
   
         open my $fh, '>', $file or croak "Couldn't open [$file]: $!";          open my $fh, '>', $file or croak "Couldn't open [$file]: $!";
         foreach my $e ( @{ $list_of{$ident} } ) {          foreach my $e ( @{ $list_of{$ident} } ) {
             print $e->text . "\n" or croak "Couldn't print to [$file]: $!";              print {$fh} $e->text . "\n"
                   or croak "Couldn't print to [$file]: $!";
         }          }
         close $fh or croak "Couldn't close [$file]: $!";          close $fh or croak "Couldn't close [$file]: $!";
   
Line 79 
Line 73 
     }      }
   
     sub list {      sub list {
         my ($self) = shift;          my ($self) = @_;
         my $ident = ident($self);          my $ident = ident($self);
         return if !$list_of{$ident};          return if !$list_of{$ident};
   
Line 100 
Line 94 
         #return \@list;          #return \@list;
     }      }
   
       sub add {
           my ( $self, $entry ) = @_;
           my $ident = ident($self);
   
           if ( ref $entry ) {
               if ( ref $entry ne 'Text::Todo::Entry' ) {
                   croak(    'entry is a '
                           . ref($entry)
                           . ' not a Text::Todo::Entry!' );
               }
           }
           else {
               $entry = Text::Todo::Entry->new($entry);
           }
   
           push @{ $list_of{$ident} }, $entry;
   
           return $entry;
       }
 }  }
   
 1;    # Magic true value required at end of module  1;    # Magic true value required at end of module
Line 146 
Line 159 
   
 =head2 save  =head2 save
   
   =head2 file
   
 =head2 list  =head2 list
   
   =head2 add
   
 =head1 DIAGNOSTICS  =head1 DIAGNOSTICS
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>