22.11.2013 Aufrufe

Einführung in Perl Dateien, Verzeichnisse und Prozesse II select ...

Einführung in Perl Dateien, Verzeichnisse und Prozesse II select ...

Einführung in Perl Dateien, Verzeichnisse und Prozesse II select ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

¢ £ ¡<br />

¢ £ ¡<br />

¥<br />

¥<br />

¥<br />

¥<br />

¥<br />

¦<br />

¥<br />

¢ £ ¡<br />

¢ £ ¡<br />

¥<br />

¥<br />

¥<br />

IMS<br />

Heike Z<strong>in</strong>smeister<br />

IMS<br />

Heike Z<strong>in</strong>smeister<br />

Autoflush - Bsp (2)<br />

wenn Subrout<strong>in</strong>e &bearbeite datei zeit<strong>in</strong>tensiv genug bekommt<br />

man folgenden Unterschied<br />

open – Wiederholung<br />

open (FILE, "PfadDerDatei") # oeffnet bestehende Datei zum Lesen<br />

open (FILE, "< PfadDerDatei") # ebenfalls<br />

open (OUT, "> Date<strong>in</strong>ame") # erzeugt neue Datei zum Schreiben<br />

open (LOG, ">> Date<strong>in</strong>ame") # ergaenzt (ggf. neu erzeugte) Datei<br />

$| = 0<br />

nach längerer Wartezeit e<strong>in</strong>malig Ausgabe e<strong>in</strong>er Punktzeile<br />

Beispiele:<br />

Fortlaufend <strong>in</strong> LOG-Datei protokollieren<br />

$| = 1<br />

sich Punkt füf Punkt aufbauende Punktzeile; Fortschritt der<br />

Bearbeitung ist ablesbar<br />

open (LOG, ">> .fehler_log")<br />

or die "Kann Logdatei nicht oeffnen: $!";<br />

pr<strong>in</strong>t LOG "...<br />

close (LOG);<br />

Systemfehlermeldungen am Ende <strong>in</strong> private Logdatei schreiben<br />

NB wenn die Pr<strong>in</strong>t-Anweisung n enthält, wird der Puffer zur<br />

Bildschirmausgabe auch bei $| = 0 unmittelbar geleert<br />

open (STDERR, ">> .fehler_log") or<br />

die "Kann Logdatei nicht oeffnen: $!";<br />

<strong>Perl</strong>, 16.01.04 <strong>Dateien</strong>, <strong>Verzeichnisse</strong>, Prozess <strong>II</strong> 5<br />

<strong>Perl</strong>, 16.01.04 <strong>Dateien</strong>, <strong>Verzeichnisse</strong>, Prozess <strong>II</strong> 6<br />

IMS<br />

Heike Z<strong>in</strong>smeister<br />

IMS<br />

Heike Z<strong>in</strong>smeister<br />

In-place-Bearbeitung (1)<br />

# Programm: convert_to_latex.perl<br />

$^I=".bak";<br />

# ueberschreibe Inputdatei,<br />

# erzeuge Backupdatei ’Name.bak’<br />

# (Aufruf ohne Backup-Datei: $^I="";)<br />

while () {<br />

s/Ä/{\\\"A}/g;<br />

s/Ö/{\\\"O}/g;<br />

s/Ü/{\\\"U}/g;<br />

s/ä/{\\\"a}/g;<br />

s/ö/{\\\"o}/g;<br />

s/ü/{\\\"u}/g;<br />

s/ß/{\\ss}/g;<br />

s/&/\\&/g;<br />

pr<strong>in</strong>t;<br />

# schreibe direkt <strong>in</strong> Inputdatei<br />

}<br />

Alternativ als Switch:<br />

#! /usr/b<strong>in</strong>/perl -w -i.bak # analog <strong>in</strong> Kommandozeile<br />

In-place-Bearbeitung (2)<br />

Input<br />

Reclamheft & "Draußen nur Kännchen"<br />

Welche fünf Gegenstände müssen <strong>in</strong> e<strong>in</strong>e Ausstellung über<br />

Deutschland?<br />

Aufruf convert to latex.perl text<br />

Ausgabe: <strong>Dateien</strong> text <strong>und</strong> text.bak<br />

Reclamheft \& "Drau{\ss}en nur K{\"a}nnchen"<br />

Welche f{\"u}nf Gegenst{\"a}nde m{\"u}ssen <strong>in</strong> e<strong>in</strong>e Ausstellung<br />

{\"u}ber Deutschland?<br />

<strong>Perl</strong>, 16.01.04 <strong>Dateien</strong>, <strong>Verzeichnisse</strong>, Prozess <strong>II</strong> 7<br />

<strong>Perl</strong>, 16.01.04 <strong>Dateien</strong>, <strong>Verzeichnisse</strong>, Prozess <strong>II</strong> 8

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!