X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/e8f9198a000dc292056bd154aad4c8a78beb4094..6ff1674fc7d8e48723efa5a8152ac468c5d4ea58:/SL/Form.pm diff --git a/SL/Form.pm b/SL/Form.pm index eaee0965a..dc20d2ce6 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -1237,7 +1237,7 @@ sub parse_template { $main::lxdebug->enter_sub(); my ($self, $myconfig) = @_; - my $out; + my ($out, $out_mode); local (*IN, *OUT); @@ -1319,13 +1319,15 @@ sub parse_template { if ($template->uses_temp_file() || $self->{media} eq 'email') { $out = $self->{OUT}; + $out_mode = $self->{OUT_MODE} || '>'; $self->{OUT} = "$self->{tmpfile}"; + $self->{OUT_MODE} = '>'; } my $result; if ($self->{OUT}) { - open(OUT, ">", $self->{OUT}) or $self->error("$self->{OUT} : $!"); + open(OUT, $self->{OUT_MODE}, $self->{OUT}) or $self->error("error on opening $self->{OUT} with mode $self->{OUT_MODE} : $!"); } else { *OUT = ($::dispatcher->get_standard_filehandles)[1]; $self->header; @@ -1398,7 +1400,8 @@ sub parse_template { } else { - $self->{OUT} = $out; + $self->{OUT} = $out; + $self->{OUT_MODE} = $out_mode; my $numbytes = (-s $self->{tmpfile}); open(IN, "<", $self->{tmpfile}) @@ -1412,7 +1415,7 @@ sub parse_template { #print(STDERR "OUT $self->{OUT}\n"); for my $i (1 .. $self->{copies}) { if ($self->{OUT}) { - open OUT, '>', $self->{OUT} or $self->error($self->cleanup . "$self->{OUT} : $!"); + open OUT, $self->{OUT_MODE}, $self->{OUT} or $self->error($self->cleanup . "$self->{OUT} : $!"); print OUT $_ while ; close OUT; seek IN, 0, 0;