Guest daveDer open und das Schreiben des aktuellen Satzes funktioniert auch, aber die Variable $out ist nach dem Öffnen nicht mehr das Känderkennzeichen sondern "GLOB(0x592ce6c)"
1
2
3
4
5
6
7
8
9
10
11
12
if (exists $lkzs{CountryCode}){
$out = $lkzs{CountryCode};
print $out $satz;
} else {
$land = CountryCode;
$datei = $verzeichnis.$land.".txt";
$out = CountryCode;
open (our $out,">:raw:utf8",$datei);
$lkzs{CountryCode} = $out;
print $out $header;
print $out $satz;
}
Das ist völlig normal. In Zeile 7 setzt du $out auf CountryCode, in Zeile 8 benutzt du es als Dateihandle. Das Dateihandle wird dann in Zeile 9 im Hash gespeichert. Hast du irgendwelche Probleme?
Übrigens: verwendest du
use strict;
use warnings;
am Anfang deines Skripts?
Gruß
GUIfreund