/[cvs]/nfo/perl/libs/shortcuts/files.pm
ViewVC logotype

Diff of /nfo/perl/libs/shortcuts/files.pm

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

revision 1.3 by janosch, Mon Mar 31 05:47:01 2003 UTC revision 1.5 by joko, Fri Jun 6 04:00:35 2003 UTC
# Line 2  Line 2 
2  ##  $Id$  ##  $Id$
3  ## ---------------------------------------------------------------------------  ## ---------------------------------------------------------------------------
4  ##  $Log$  ##  $Log$
5    ##  Revision 1.5  2003/06/06 04:00:35  joko
6    ##  + binary mode file write
7    ##  + don't add a trailing newline always
8    ##
9    ##  Revision 1.4  2003/05/13 09:23:03  joko
10    ##  pre-flight checks for existance of base directory of to-be-executed script
11    ##
12  ##  Revision 1.3  2003/03/31 05:47:01  janosch  ##  Revision 1.3  2003/03/31 05:47:01  janosch
13  ##  Mis mif gex  ##  Mis mif gex
14  ##  ##
# Line 42  our @EXPORT_OK = qw( Line 49  our @EXPORT_OK = qw(
49    
50    
51  use Data::Dumper;  use Data::Dumper;
52    use File::Basename;
53    
54  sub s2f {  sub s2f {
55    my $filename = shift;    my $filename = shift;
56    my $string = shift;    my $string = shift;
57      my $args = shift;
58      
59      # pre-flight checks: Does directory exist?
60      my $dirname = dirname($filename);
61      if (not -e $dirname) {
62        print STDERR __PACKAGE__ . ':' . __LINE__ . ": ERROR: Directory '$dirname' does not exist! (Write attempt)" . "\n";
63        return;
64      }
65    
66      # Perform: File write
67    open(FH, '>' . $filename);    open(FH, '>' . $filename);
68      if ($args->{mode} && $args->{mode} eq 'binary') {
69        binmode(FH);
70      }
71    print FH $string;    print FH $string;
72    print FH "\n";    # Always inject ending newline? No, since it unneccessarily
73      # modifies files with absolutely *no* changes in content.
74      print FH "\n" if $string !~ /\n$/;
75    close(FH);    close(FH);
76  }  }
77    
78  sub f2s {  sub f2s {
79    my $filename = shift;    my $filename = shift;
80      
81      # pre-flight checks: Does file exist?
82    if (! -e $filename) {    if (! -e $filename) {
83      print STDERR __PACKAGE__ . ':' . __LINE__ . ": File $filename does not exist!" . "\n";      print STDERR __PACKAGE__ . ':' . __LINE__ . ": ERROR: File '$filename' does not exist! (Read attempt)" . "\n";
84      return;      return;
85    }    }
86      
87    # read file at once (be careful with big files!!!)    # read file at once (be careful with big files!!!)
88    open(FH, '<' . $filename);    open(FH, '<' . $filename);
89    my @buf_arr = <FH>;    my @buf_arr = <FH>;

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

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