Platon Technologies
neprihlásený Prihlásiť Registrácia
SlovakEnglish
open source software development oslavujeme 10 rokov vývoja otvoreného softvéru! Piatok, 29. marec 2024

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/
Copyright © 2002-2006 Platon Group
Stránka používa redakčný systém Metafox
Na začiatok