/[cvs]/nfo/perl/libs/Data/Storage/Handler/File.pm
ViewVC logotype

Contents of /nfo/perl/libs/Data/Storage/Handler/File.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (show annotations)
Sun Feb 9 04:54:27 2003 UTC (21 years, 5 months ago) by joko
Branch: MAIN
Changes since 1.2: +49 -106 lines
- refactored lots of code to Data::Storage::Handler::File::Basic
- sorry!

1 #!/usr/bin/perl
2
3 ## ------------------------------------------------------------------------
4 ## $Id: modifier.pl,v 1.1 2003/02/01 02:56:03 joko Exp $
5 ## ------------------------------------------------------------------------
6 ## $Log: modifier.pl,v $
7 ## ------------------------------------------------------------------------
8
9
10 package Data::Storage::Handler::File;
11
12 use strict;
13 use warnings;
14
15 use base qw( DesignPattern::Object );
16
17 =pod
18 require Exporter;
19 our @ISA = qw( Exporter );
20 our @EXPORT_OK = qw(
21 s2f
22 a2f
23 );
24 =cut
25
26 use Data::Storage::Handler::File::Basic qw( s2f a2f f2s );
27
28 sub _read {
29 my $self = shift;
30 $self->{_buffer_orig} = f2s($self->{path});
31 $self->{_buffer} = f2s($self->{path});
32 }
33
34 sub toString {
35 my $self = shift;
36 $self->_read();
37 return $self->{_buffer};
38 }
39
40 sub addSuffix {
41 my $self = shift;
42 my $suffix = shift;
43 $self->{path} .= ".$suffix";
44 }
45
46 sub save {
47 my $self = shift;
48 if ($self->{_buffer}) {
49 s2f($self->{path}, $self->{_buffer});
50 } else {
51 print "please load $self->{path} before saving.", "\n";
52 }
53 }
54
55 sub backup {
56 my $self = shift;
57 my $options = shift;
58 my $path = $self->{path};
59 $path .= '.' . $options->{suffix} if $options->{suffix};
60 s2f($path, $self->{_buffer_orig});
61 }
62
63 sub matches {
64 my $self = shift;
65 my $pattern = shift;
66 $self->_read();
67 my $eval = '$self->{_buffer} =~ ' . $pattern . ';';
68 if (eval($eval)) { return 1; }
69 }
70
71 1;
72 __END__

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed