/[libconf]/libconf/perl-Libconf/Libconf.pm
ViewVC logotype

Diff of /libconf/perl-Libconf/Libconf.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.43 by dams, Fri Nov 14 20:27:57 2003 UTC revision 1.44 by dams, Mon Nov 24 01:02:57 2003 UTC
# Line 41  $INDENT_SPACES = '    '; Line 41  $INDENT_SPACES = '    ';
41  sub new {  sub new {
42      my ($pkg, $filename, $template_name, $validation_name, $template_filename, $safe_write) = @_;      my ($pkg, $filename, $template_name, $validation_name, $template_filename, $safe_write) = @_;
43  #    -e $filename or die ("$filename not found");  #    -e $filename or die ("$filename not found");
44      -e $filename or system("touch", $filename);      defined $filename && !-e $filename and system("touch", $filename);
45      if ($template_filename) {      if ($template_filename) {
46          require $template_filename;          require $template_filename;
47      } else {      } else {
# Line 53  sub new { Line 53  sub new {
53      $out{template_name} = $template_name;      $out{template_name} = $template_name;
54      $validation_name and $out{validation_name} = $validation_name;      $validation_name and $out{validation_name} = $validation_name;
55      $out{atoms} = [];      $out{atoms} = [];
56      $safe_write and $out{timestamp} = getTimestamp($filename);      defined $filename && $safe_write and $out{timestamp} = getTimestamp($filename);
57      readConf(\%out);      readConf(\%out);
58      bless \%out, $pkg;      bless \%out, $pkg;
59      \%out;      \%out;
# Line 69  sub getTimestamp { Line 69  sub getTimestamp {
69  sub readConf {  sub readConf {
70      my ($out) = @_;      my ($out) = @_;
71      my $filename = $out->{filename};      my $filename = $out->{filename};
72      -e $filename or die ("$filename not found");      my @file;
73      my @file = cat_($filename);      if (-e $filename) {
74            @file = cat_($filename);
75        } else {
76            @file = ();
77        }
78      parse($out, \@file);      parse($out, \@file);
79  }  }
80    
# Line 178  sub clearSection { Line 182  sub clearSection {
182      }      }
183      !defined $end && $no_end_section and $end = @{$out->{atoms}}-1;      !defined $end && $no_end_section and $end = @{$out->{atoms}}-1;
184      defined $end or die "no ENDSECTION for SECTION n° $index";      defined $end or die "no ENDSECTION for SECTION n° $index";
185      splice(@{$out->{atoms}}, $index+1, $end-$index);      my @ret = splice(@{$out->{atoms}}, $index+1, $end-$index);
186        @ret;
187  }  }
188    
189  sub writeConf {  sub writeConf {

Legend:
Removed from v.1.43  
changed lines
  Added in v.1.44

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26