Súbor: [Platon] / iotta / Iotta / Output / File.pm (stiahnutie)
Revízia 1.2, Sun Mar 30 11:33:57 2003 UTC (21 years ago) by yenar
Zmeny od 1.1: +1 -1
[lines]
fix bug in directory creation (do not create directory in place of output file) [File.pm]
|
package Iotta::Output::File;
use strict;
require Iotta::Elem;
our @ISA = ("Iotta::Elem");
sub run {
my $s = shift;
my $meta = shift;
my $data = shift;
my $file = $$meta{output};
my $dir = $file;
$dir =~ s#^(.*)/.*?$#$1#;
mkdirp ($dir) if $file =~ /\//;
#$file =~ $s->transform;
print STDERR " writing ($file)...\n";
open (FILE, ">$file") || return 1;
print FILE $data;
close FILE;
#print $meta."\n";
$s->next->run ($meta, $data) if ($s->next);
return 0;
}
sub mkdirp {
my $dir = shift;
my $d;
my @dirs = split /\//, $dir;
for (@dirs) {
$d .= "$_/";
if (! -d $d) {
#print STDERR "creating: $d\n";
mkdir $d;
}
}
}
sub setup {
my $s = shift;
my $o = shift;
}
sub initialize {
my $self = shift;
$self->SUPER::initialize (@_);
}
1;
Platon Group <platon@platon.sk> http://platon.sk/
|