Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Dateien Dateien Umgang mit Dateien »

Schreiben und Lesen

Perl ist eine ideale Sprache, um Texte auszuwerten. Um das nutzen zu können, muss man auf die Dateien, in denen die Texte stehen, zugreifen können. Im ersten Schritt wird eine Datei eröffnet. Dazu dient die Funktion open. Der erste Parameter ist das Dateihandle (Handle engl. Handgriff). Ein Handle ist eine Kennung für eine Ressource. Daran erkennt das Betriebssystem, welche Datei gemeint ist. Das Handle wird für alle weiteren Zugriffe auf die Datei gebraucht. Der zweite Parameter ist der Name der Datei, die geöffnet werden soll. Im folgenden Beispiel wird eine Datei geöffnet und gleich wieder geschlossen.

open(HANDLE, $filename) || die "Datei nicht zugreifbar";
close(HANDLE);

Das Oderzeichen hinter dem Dateinamen bewirkt, dass bei einem Fehlschlag der Funktion open() die dahinterliegende Befehlsfolge abgearbeitet wird. Hier besteht sie aus der Funktion die() (engl. sterben), die das Programm beendet und die als Parameter übergebene Zeichenkette als letzten Gruss auf der Konsole ausgibt.

Aus einer Datei liest man mit Hilfe des beim open() ermittelten HANDLE auf die gleiche Weise, wie schon weiter oben von der Standardeingabe gelesen wurde.

$zeile = <HANDLE>;

Die Ausgabe in eine Datei erfolgt analog über die Funktion print(). Als erster Parameter wird ihr das Dateihandle mitgegeben.

print HANDLE $value;

Das folgende Skript ist eine Implementation des Kommandos cat in Perl. Wie der Originalbefehl gibt das Skript cat.pl den Inhalt aller ihm als Parameter übergebenen Dateien auf der Standardausgabe aus.

[Implementierung von cat in Perl]
#!/usr/bin/perl -w
use strict;
my $datei;   # der jeweilige Dateiname
my $zeile;   # die Zeile, die aus der Datei gelesen wird.

foreach $datei (@ARGV)
{
   open(HANDLE, $datei) || die "Fehler beim Öffnen $datein";
   while ($zeile = <HANDLE>)
   {
      print $zeile;
   }
   close HANDLE;
}

Die äußere foreach-Schleife durchläuft das Parameterarray @ARGV. Jeder der Parameter wird mit open geöffnet. Dann durchläuft das Programm die innere Schleife, in der jede Zeile in den Skalar $zeile eingelesen wird und dann per print auf die Standardausgabe gegeben wird. Die Schleife bricht ab, wenn die Variable zeile nicht mehr zu füllen ist. Nach Ende der Schleife wird die Datei geschlossen und die foreach-Schleife übernimmt den nächsten Parameter.



« Dateien | Dateien | Umgang mit Dateien »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de