ich habe ein Programm in dem ich einen Filehandler an eine Unterfunktion übergeben muss. Leider hab ich das bisher noch nicht hinbekommen. Bisher sieht das ganzewie folgt aus (funzt aber eben nicht):
In deinem Beipsiel sind eine ganze Menge Fehler und unaufmerksamkeiten.
sub constructor1 ()
{
$FILE=$_[1];
Du arbeitest nicht mit use strict?
Warum willst du hier den zweiten Parameter?
und die Variabel hiesse vielleicht besser FH (Filehandle)
print $FILE "2nd line\n";
}open (FILE, ">",$filename);
Warum prüfst du nicht ob es wirklich klappt die Datei zu öffnen?
print FILE "1st line\n";
constructor1 (<FILE>);
wie kommst du darauf, dass wenn du eine Zeile aus der Datei an die Funktion übergibst, du dann den Filehandle hast?
Wie kann ich den Filehandler richtig übergeben?
z.b. so:
[code lang=perl]#!/usr/bin/perl -w
use strict;
my $filename = "test.txt";
open FILE, ">$filename" or die "Fehler beim öffnen: $!";
print FILE "1st line\n";
constructor1 (*FILE);
close FILE;
sub constructor1
{
my $FH = shift || return;
print $FH "2nd line\n";
}
Struppi.
--
[Javascript ist toll](http://javascript.jstruebig.de/)