Parsieren einfacher Textdateien

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

mountpoints.pl
#!/usr/local/bin/perl -w
# Ausgabe einer sortierten Liste aller Mountpoints
# aus der fstab

if (!open(FSTAB, "/etc/fstab") &&
      !open(FSTAB, "/etc/vfstab")) {
   die "Unable to locate fstab file!\n";
}
@mountpoints = ();
while (<FSTAB>) {
   next if /^#/;     # Auskommentierte ...
   next if /^\s*$/;  # und leere Zeilen ueberspringen
   chomp;
   $mountpoint = (split /\s+/)[2];
   next unless $mountpoint =~ m{^/};
   push(@mountpoints, $mountpoint);
}
close(FSTAB);

print join("\n", sort @mountpoints), "\n";

*Mit next kann (analog zu continue in C) die nächste Iteration einer Schleife initiiert werden. (Analog gibt es last, das break in C entspricht).
 
*unless entspricht if !.
 
*\s in regulären Ausdrücken steht für Leerzeichen, Tabs, Zeilentrenner usw.
 
*Auch ein Ausdruck, der eine Liste liefert, kann direkt indiziert werden, wenn er eingeklammert wird.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000