Thread open( WF, ">datei" ) in Funktion: Letzer Write funktioniert nicht (7 answers)
Opened by Jiep1963 at 2013-07-27 10:34

Jiep1963
 2013-07-27 11:17
#169182 #169182
User since
2008-08-20
37 Artikel
BenutzerIn

user image
Hallo GwenDragon,

vielen Dank für die Hinweise. Bei 'use warnings;' erhalte ich allerdings Warnungen an anderer Stelle bei Code-Zeilen die einwandfrei funktionieren, die aber nicht im Zusammenhang mit meinem Problem stehen.

Alles andere habe ich eingebaut, aber leider gibt es keine Besserung im Ergebnis. Nach wie vor fehlt die letzte Datei. Mir erscheint es, als ob sie "wie in BUFFER" erzeugt wird, aber dann pyhsikalisch auf der Festplatte dann doch nicht erscheint. Wenn ich als Kontrolle den Systembefehl `ls -l $paht/$dateinamenvarible` hinter die close-Zeile setzte, dann erhalte ich keine Fehlermeldung.

Ich bin ratlos!

Gruß Achim

Nachfolgende "letzte Print-Ausgabe" auf dem Monitor unterscheidet sich nicht von den vorher ausgegebenen. Aber die Datei ist nicht vorhanden:

##############################################################################################
create_projekt_import.pl::f_read_write_file( </home/icnbg/projekte/startfolder/icnbg/oogpm/oogpm_000/labor>, <163330>, <LABOR>, <DE>, <TR>, \a_packagedatei );
trans_file = labor_de_cpt_141186_2013-07-27.txt

### DEPICTION_KEY: [LABOR-TR-CPT-141186]
### DEPICTION_ORI: [Labor-Kompo-Diagram-2]
### DEPICTION_NEW: []
### TRANSLATE_WAY: [DE > TR // DE Germany > TR Turkey]
### TRANSLATE_STA: [EXPORTED DE-TEXT]
### BOT:
### :EOT
#--------------------------------------------------------------#

##############################################################################################

Eine Umstrukturierung des Codes brachte auch keine Verbesserung:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
open( my $RF, "<", "$qpath/$qfile" ) || die "create_projekt_import.pl::ERROR 1.0: Kann die Datei zum Lesen nicht oeffnen: <$qpath/$qfile>\n";
while( <$RF> ) { push( @a_quelldatei, $_ ); }
close( $RF );

foreach( @a_quelldatei )
{

# --- 8< --- schnipp

if( $transtxt eq "letzteZeile" && $key_zeil eq "ja" )
{
# --- 8< --- schnipp

open( my $WF_2, ">", "$qpath/TRANSLATE/$trans_file" ) || die "change_language.pl::FATAL 1.1: Kann die Datei zum Schreiben nicht oeffnen: <$qpath/TRANSLATE/$trans_file>\n";
flock( $WF_2, LOCK_EX ) || die "change_language.pl::FATAL 1.2: Lock konnte nicht druchgefuehrt werden";
print $WF_2 @a_TranslateText;
close( $WF_2 );

# --- 8< --- schnipp
} #EO if transtxt eq letzteZeile (:EOT)

} #EO foreach( a_quelldatai )

Last edited: 2013-07-27 12:06:12 +0200 (CEST)

View full thread open( WF, ">datei" ) in Funktion: Letzer Write funktioniert nicht