1
2
3
open my $out, ">", "Test" or die $!;
print $out $variable or die $!;
close $out or die $!;
1 2 3 4 5 6 7 8 9 10
my $in; # Variable für Eingabe-Dateihandle # Datei mit 3-Paramater-open einlesen open($in, '<', '/kompletter/pfad/auf/TEST') or die "Fehler: Datei zum Lesen öffnen schlug fehl ($!)"; # hier wird auf Fehler getestet und abgebrochen was ein Problem vorhanden while( my $line = <$in> ) { $variable = $line; } close($in) or die "Fehler: Datei konnte nicht geschlossen werden ($!)";
1 2 3 4 5 6 7 8 9 10
my $out; open($out, '>', "/kompletter/pfad/auf/Test") # Datei für Ausgabe erzeugen; vorhandene wird überschrieben or die "Fehler: Datei zum Schreiben konnte nicht erzeugt werden ($!)"; # hier wird auf Fehler getestet und mit Fehlermeldung abgebrochen print {$out} $variable or die "Fehler: Daten konnten nicht geschrieben werden ($!)"; close($out) or die "Fehler: Datei konnte nicht geschlossen werden ($!)";
1
2
3
4
5
6
open IN, "<$zaehlerfile" or scriptAbbruch("Konnte Zählerdatei nicht finden.");
while( <IN> ) {
$zaehler = $_;
$zaehler++;
}
close IN;
1
2
3
open OUT, ">$zaehlerfile" or scriptAbbruch("Konnte Zählerdatei nicht öffnen.");
print OUT $zaehler or scriptAbbruch("Konnte Zähler nicht setzen.");
close OUT;
1
2
3
open OUT, ">", $zaehlerfile or scriptAbbruch("Konnte Zählerdatei nicht öffnen.");
print OUT $zaehler or scriptAbbruch("Konnte Zähler nicht setzen.");
close OUT;
1
2
3
4
my $OUT;
open($OUT, '>', $zaehlerfile) or scriptAbbruch("Konnte Zählerdatei nicht öffnen.");
print {$OUT} $zaehler or scriptAbbruch("Konnte Zähler nicht setzen.");
close($OUT);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
use strict; use warnings; use IO::File; my $fh = IO::File->new; $fh->open("counterfile", O_CREAT|O_RDWR|O_BINARY) or die $!; my $i; if( read($fh, my $buffer, 4)) { $i = unpack "N", $buffer; } else{ $i = 0; } $i++; $fh->truncate(0); $fh->seek(0,0); $fh->print( pack "N", $i ); $fh->close; print $i;
1
2
use Fcntl qw(:flock);
flock($OUT, LOCK_EX) or scriptAbbruch("Lock kann nicht erzeugt werden");
1 2 3 4
# das "my $OUT" braucht nicht separat zu stehen open(my $OUT, '>', $zaehlerfile) or scriptAbbruch("Konnte Zählerdatei $zaehlerfile nicht öffnen. Grund: $!"); print {$OUT} $zaehler or scriptAbbruch("Konnte Zähler nicht setzen."); close($OUT);