Diese Seiten sind Teil von Bachsau’s Archiv.
Die hier beschriebenen Praktiken entsprechen nicht mehr dem Stand der Technik!
Bitte nutzen Sie für aktuelle Projekte das fortlaufend aktualisierte SELFHTML-Wiki.

SELFHTML

Funktionen für Informationen aus Konfigurationsdateien

Informationsseite

nach unten Allgemeines zu diesen Funktionen
nach unten endgrent - zum Ende von /etc/groups springen
nach unten endhostent - zum Ende von /etc/hosts springen
nach unten endnetent - zum Ende von /etc/networks springen
nach unten endprotoent - zum Ende von /etc/protocols springen
nach unten endpwent - zum Ende von /etc/passwd springen
nach unten endservent - zum Ende von /etc/services springen
nach unten getgrent - nächsten Eintrag von /etc/groups ermitteln
nach unten getgrgid - Eintrag mit bestimmter Gruppen-ID aus /etc/groups ermitteln
nach unten getgrnam - Eintrag mit bestimmtem Gruppennamen aus /etc/groups ermitteln
nach unten gethostbyaddr - Eintrag mit bestimmter IP aus /etc/hosts ermitteln
nach unten gethostbyname - Eintrag mit bestimmtem Hostnamen aus /etc/hosts ermitteln
nach unten gethostent - nächsten Eintrag von /etc/hosts ermitteln
nach unten getlogin - Namen des aktuellen Benutzers ermitteln
nach unten getnetbyaddr - Eintrag mit bestimmter IP aus /etc/networks ermitteln
nach unten getnetbyname - Eintrag mit bestimmtem Netzwerknamen aus /etc/networks ermitteln
nach unten getnetent - nächsten Eintrag von /etc/networks ermitteln
nach unten getprotobyname - Eintrag mit bestimmtem Protokollnamen aus /etc/protocols ermitteln
nach unten getprotobynumber - Eintrag mit bestimmter Protokollnummer aus /etc/protocols ermitteln
nach unten getprotoent - nächsten Eintrag von /etc/protocols ermitteln
nach unten getpwent - nächsten Eintrag von /etc/passwd ermitteln
nach unten getpwnam - Eintrag mit bestimmtem Benutzernamen aus /etc/passwd ermitteln
nach unten getpwuid - Eintrag mit bestimmter Benutzernummer aus /etc/passwd ermitteln
nach unten getservbyname - Eintrag mit bestimmtem Portnamen aus /etc/services ermitteln
nach unten getservbyport - Eintrag mit bestimmter Portnummer aus /etc/services ermitteln
nach unten getservent - nächsten Eintrag von /etc/services ermitteln
nach unten setgrent - zum Anfang von /etc/groups springen
nach unten sethostent - zum Anfang von /etc/hosts springen
nach unten setnetent - zum Anfang von /etc/networks springen
nach unten setprotoent - zum Anfang von /etc/protocols springen
nach unten setpwent - zum Anfang von /etc/passwd springen
nach unten setservent - zum Anfang von /etc/services springen

 nach unten 

Allgemeines zu diesen Funktionen

Die hier versammelten Funktionen dienen dazu, Einträge aus System-Konfigurationsdateien zu ermitteln. Es handelt sich dabei ausschließlich um Konfigurationsdaten von Unix-Systemen. Der Vorteil der hier beschriebenen Funktionen gegenüber dem direkten Auslesen jener Dateien ist, dass sie rechnerunabhängig sind, d.h. die Befehle funktionieren auch dann, wenn ein Unix-System anders als im Normalfall konfiguriert ist und die entsprechenden Dateien an anderen Orten liegen.

Die relevanten Konfigurationsdateien werden im folgenden kurz vorgestellt. Die Pfadnamen entsprechen der üblichen Ablage.

Konfigurationsdatei: /etc/group

In dieser Datei werden Berechtigungsgruppen und deren Mitglieder gespeichert. Eine Berechtigungsgruppe kann bestimmte Rechte an Dateien und Verzeichnissen besitzen, die einem ihrer Mitglieder gehören. Neben Einträgen für "menschliche" Berechtigungsgruppen enthält die Datei auch solche für reservierte, rechnereigene Berechtigungsgruppen, wie beispielsweise mail, bin oder tty. Passwörter sind in dieser Datei nur verschlüsselt gespeichert.
Typische Daten (Beispiel):
root  x  0    root
bin   x  1    root bin daemon
sys   x  101  root bin sys
Jede Zeile der Datei enthält den Namen einer Berechtigungsgruppe, dahinter (verschlüsselt) deren Passwort, dahinter die Gruppennummer (GID) und dahinter die Liste der Mitglieder der Gruppe.
Funktionen zu dieser Datei sind nach unten endgrent nach unten getgrent nach unten getgrgid nach unten getgrnam nach unten setgrent
Im Beispiel zur Funktion nach unten getgrent wird gezeigt, wie Sie die komplette Datei /etc/groups ausgeben können. Dadurch gewinnen Sie einen vollständigen Überblick über den Inhalt der Datei.

Konfigurationsdatei: /etc/hosts

In dieser Datei werden IP-Adressen und Domain-Namen oder Rechnernamen zugeordnet, die der Rechner selber auflösen muss.
Typische Daten (Beispiel):
127.0.0.1       localhost
192.168.10.101  sonne.galaxis.de     sonne
192.168.85.1    zeus.edu.saxedu.de   zeus
Jede Zeile der Datei enthält eine IP-Adresse, dahinter den offiziellen Domain-Namen und dahinter wahlweise den internen Rechnernamen, jeweils durch Leerzeichen oder Tabulatoren getrennt. Hinter dem internen Rechnernamen kann wahlweise auch noch ein Aliasname folgen.
Funktionen zu dieser Datei sind nach unten endhostent nach unten gethostbyaddr nach unten gethostbyname nach unten gethostent nach unten sethostent
Im Beispiel zur Funktion nach unten gethostent wird gezeigt, wie Sie die komplette Datei /etc/hosts ausgeben können. Dadurch gewinnen Sie einen vollständigen Überblick über den Inhalt der Datei.

Konfigurationsdatei: /etc/networks

In dieser Datei werden Netzwerknamen und zugehörige IP-Adressen einander zugeordnet. Dabei wird oft auch der Adresstyp und die Netznummer angegeben.
Typische Daten (Beispiel):
loopback  127.0.0.0  2  2130706432
Jede Zeile der Datei enthält einen Netzwerknamen, die zugehörige Netzwerk-IP-Adresse, den Adresstyp und die Netznummer.
Funktionen zu dieser Datei sind nach unten endnetent nach unten getnetbyaddr nach unten getnetbyname nach unten getnetent nach unten setnetent
Im Beispiel zur Funktion nach unten getnetent wird gezeigt, wie Sie die komplette Datei /etc/networks ausgeben können. Dadurch gewinnen Sie einen vollständigen Überblick über den Inhalt der Datei.

Konfigurationsdatei: /etc/passwd

In dieser Datei werden alle wichtigen Daten aller Benutzer gespeichert, die Zugang zum Rechner haben. Dazu gehören z.B. die Benutzernamen, ihre Passwörter, die Benutzernummern (UIDs) und die Heimatverzeichnisse der Anwender. Neben Einträgen für normale Benutzer enthält die Datei auch solche für reservierte Benutzer, wie beispielsweise root (auf emanzipierten Rechnern auch ruth), daemon oder ftp (für den anonymen FTP-Zugang). Passwörter sind in dieser Datei nur verschlüsselt gespeichert.
Typische Daten (Beispiel):
root      x  0  0    root       /root               /bin/mysh
bin       x  1  1    bin        /bin                /bin/mysh
customer  x  29  29  Kunde      /usr/lib/kunde      /bin/mysh
Jede Zeile der Datei enthält den Benutzernamen, das zugehörige Passwort (verschlüsselt), die zugehörige Benutzernummer (UID), die Nummer seiner Berechtigungsgruppe (GID), beschreibende Angaben zum Benutzer, sein Heimatverzeichnis auf dem Rechner, seine Shell (Instanz des Kommando-Interpreters), und gegebenenfalls Angaben zum Verfallsdatum der Gültigkeit des Eintrags.
Funktionen zu dieser Datei sind nach unten endpwent nach unten getpwent nach unten getpwnam nach unten getpwuid nach unten setpwent
Im Beispiel zur Funktion nach unten getpwent wird gezeigt, wie Sie die komplette Datei /etc/passwd ausgeben können. Dadurch gewinnen Sie einen vollständigen Überblick über den Inhalt der Datei.

Konfigurationsdatei: /etc/protocols

In dieser Datei sind die Protokollnamen und Protokollnummern der Transportprotokolle eingetragen, die das System unterstützt.
Typische Daten (Beispiel):
ip    IP    0
icmp  ICMP  1
igmp  IGMP  2
ggp   GGP   3
tcp   TCP   6
Jede Zeile der Datei enthält den Namen des Transportprotokolls, die Protokollnummer und den Aliasnamen des Protokolls.
Funktionen zu dieser Datei sind nach unten endprotoent nach unten getprotobyname nach unten getprotobynumber nach unten getprotoent nach unten setprotoent
Im Beispiel zur Funktion nach unten getprotoent wird gezeigt, wie Sie die komplette Datei /etc/protocols ausgeben können. Dadurch gewinnen Sie einen vollständigen Überblick über den Inhalt der Datei.

Konfigurationsdatei: /etc/services

In dieser Datei werden die Namen von Netzwerkdiensten sowie die zugehörigen Portnummern und Protokollnamen gespeichert.
Typische Daten (Beispiel):
ftp                 21  tcp
telnet              23  tcp
smtp  mail          25  tcp
whois  nicname      43  tcp
domain  nameserver  53  tcp
gopher              70  tcp
finger              79  tcp
www  http           80  tcp
www                 80  udp
Funktionen zu dieser Datei sind nach unten endservent nach unten getservbyname nach unten getservbyport nach unten getservent nach unten setservent
Im Beispiel zur Funktion nach unten getservent wird gezeigt, wie Sie die komplette Datei /etc/services ausgeben können. Dadurch gewinnen Sie einen vollständigen Überblick über den Inhalt der Datei.

nach obennach unten

endgrent - zum Ende von /etc/groups springen

Springt an das Ende der Datei nach oben /etc/group und beendet den Zugriff darauf.

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
my $Wert = getgrent();
print "$Wert\n";
endgrent();
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt mit nach unten getgrent den ersten Eintrag aus /etc/groups, gibt den ermittelten Wert aus und springt dann ans Ende der Datei.

nach obennach unten

endhostent - zum Ende von /etc/hosts springen

Springt an das Ende der Datei nach oben /etc/hosts und beendet den Zugriff darauf.

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
my $Wert = gethostent();
print "$Wert\n";
endhostent();
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt mit nach unten gethostent den ersten Eintrag aus /etc/hosts, gibt den ermittelten Wert aus und springt dann ans Ende der Datei.

nach obennach unten

endnetent - zum Ende von /etc/networks springen

Springt an das Ende der Datei nach oben /etc/networks und beendet den Zugriff darauf.

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
my $Wert = getnetent();
print "$Wert\n";
endnetent();
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt mit nach unten getnetent den ersten Eintrag aus /etc/networks, gibt den ermittelten Wert aus und springt dann ans Ende der Datei.

nach obennach unten

endprotoent - zum Ende von /etc/protocols springen

Springt an das Ende der Datei nach oben /etc/protocols und beendet den Zugriff darauf.

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
my $Wert = getprotoent();
print "$Wert\n";
endprotent();
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt mit nach unten getprotoent den ersten Eintrag aus /etc/protocols, gibt den ermittelten Wert aus und springt dann ans Ende der Datei.

nach obennach unten

endpwent - zum Ende von /etc/passwd springen

Springt an das Ende der Datei nach oben /etc/passwd und beendet den Zugriff darauf.

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
my $Wert = getpwent();
print "$Wert\n";
endpwent();
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt mit nach unten getpwent den ersten Eintrag aus /etc/passwd, gibt den ermittelten Wert aus und springt dann ans Ende der Datei.

nach obennach unten

endservent - zum Ende von /etc/services springen

Springt an das Ende der Datei nach oben /etc/services und beendet den Zugriff darauf.

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
my $Wert = getservent();
print "$Wert\n";
endservent();
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt mit nach unten getnetent den ersten Eintrag aus /etc/services, gibt den ermittelten Wert aus und springt dann ans Ende der Datei.

nach obennach unten

getgrent - nächsten Eintrag von /etc/groups ermitteln

Ermittelt im skalaren Kontext den jeweils nächsten Eintrag aus der Datei nach oben /etc/group oder den Listenkontext einer Liste mit vier Elementen.

Erwartet keine Parameter.

Gibt je nach Kontext entweder den nächsten Dateieintrag oder die Liste zurück. Bei Dateiende wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my @Liste = getgrent();
while(@Liste) {
  print "$Liste[0]]  $Liste[1]  $Liste[2]  $Liste[3]\n";
  @Liste = getgrent();
}

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel zeigt, wie Sie alle Einträge der Datei /etc/groups mit einem CGI-Script ausgeben lassen können. Zunächst wird getgrent erstmals aufgerufen. Der Rückgabewert wird als Listenkontext interpretiert und im Array @Liste gespeichert. Solange die Liste einen Inhalt enthält - while(@Liste) - werden die vier Elemente des Arrays ausgegeben, und getgrent wird für den nächsten Schleifendurchgang aufgerufen. Die vier Elemente des Arrays, die von der Funktion zurückgegeben werden, sind:
$Liste[0] = Name der Berechtigungsgruppe,
$Liste[1] = Passwort der Berechtigungsgruppe (verschlüsselt),
$Liste[2] = Nummer der Berechtigungsgruppe (GID),
$Liste[3] = Mitgliedernamen der Berechtigungsgruppe

nach obennach unten

getgrgid - Eintrag mit bestimmter Gruppen-ID aus /etc/groups ermitteln

Ermittelt aus der Datei nach oben /etc/group den zugehörigen Eintrag zu einer bestimmten Gruppen-ID (GID). Im skalaren Kontext wird dabei der zugehörige Gruppenname ermittelt, im Listenkontext der gesamte Eintrag zur GID.

Erwartet als Parameter:
1. die gewünschte GID.

Gibt je nach Kontext entweder den Gruppennamen oder die Liste zurück. Wenn die angegebene GID nicht gefunden wurde, wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body>\n";

($Name,$Passwort,$Gid,$Mitglieder) = getgrgid(2);
print "<h3>Listenkontext:</h3>";
print "<pre>$Name\n$GrPasswort\n$Gid\n$Mitglieder</pre>";

print "<h3>Skalarer Kontext:</h3><pre>";
my $Wert = getgrgid(2);
print "<pre>$Wert</pre>\n";

print "</body></html>\n";

Erläuterung:

Das Beispiel ruft insgesamt zweimal die Funktion getgrgid auf, zuerst im Listenkontext, später im skalaren Kontext. In beiden Fällen wird 2 als gesuchte Gruppennummer (GID) übergeben. Im Listenkontext wird der gesamte gefundene Eintrag, bestehend aus Gruppenname, Gruppenpasswort (verschlüsselt), Gruppennummer und Mitgliedernamen, vom Script ausgegeben. Im skalaren Kontext wird nur der zur Gruppennummer gehörige Gruppenname ausgegeben.

nach obennach unten

getgrnam - Eintrag mit bestimmtem Gruppennamen aus /etc/groups ermitteln

Ermittelt aus der Datei nach oben /etc/group den zugehörigen Eintrag zu einem bestimmten Gruppennamen. Im skalaren Kontext wird dabei die Gruppen-ID (GID) des angegebenen Namens ermittelt, im Listenkontext der gesamte Eintrag zu dem Gruppennamen.

Erwartet als Parameter:
1. den gewünschten Gruppennamen.

Gibt je nach Kontext entweder die zugehörige Gruppennummer (GID) oder die Liste zurück. Wenn der angegebene Gruppenname nicht gefunden wurde, wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body>\n";

(my $Name, my $Passwort, my $Gid, my $Mitglieder) = getgrnam("mail");
print "<h3>Listenkontext:</h3>";
print "<pre>$Name\n$Passwort\n$Gid\n$Mitglieder</pre>";

print "<h3>Skalarer Kontext:</h3>";
my $Wert = getgrnam("mail");
print "<pre>$Wert</pre>\n";

print "</body></html>\n";

Erläuterung:

Das Beispiel ruft insgesamt zweimal die Funktion getgrnam auf, zuerst im Listenkontext, später im skalaren Kontext. In beiden Fällen wird "mail" als gesuchter Gruppenname übergeben. Im Listenkontext wird der gesamte gefundene Eintrag, bestehend aus Gruppenname, Gruppenpasswort (verschlüsselt), Gruppennummer und Mitgliedernamen, vom Script ausgegeben. Im skalaren Kontext wird nur die zum Gruppennamen gehörige Gruppennummer (GID) ausgegeben.

nach obennach unten

gethostbyaddr - Eintrag mit bestimmter IP aus /etc/hosts ermitteln

Ermittelt aus der Datei nach oben /etc/hosts den Hostnamen zu einer bestimmten IP-Adresse.

Erwartet als Parameter:
1. die gewünschte IP-Adresse, und zwar numerisch in binärer Schreibweise.
2. den Adresstyp der IP-Adresse (numerisch).

Gibt den zugehörigen Hostnamen zurück. Wenn die angegebene IP-Adresse nicht gefunden wurde, wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

use Socket;
my $addr = inet_aton("127.0.0.1");
my $Wert  = gethostbyaddr($addr, AF_INET);
print "$Wert\n";

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel zeigt, wie Sie den Hostnamen zu einer IP-Adresse auf dem Rechner ermitteln können. Um die etwas komplizierte Parameterversorgung der Funktion gethostbyaddr sicherzustellen, wird das Seite Standardmodul Socket verwendet. Durch Aufruf der Modul-Funktion inet_aton wird eine in üblicher Schreibweise notierte, übergebene IP-Adresse in die erforderliche binäre Form umgewandelt. Das Ergebnis wird in dem Skalar $addr gespeichert. Das Modul Socket stellt auch Konstanten für den Adresstyp zur Verfügung. Die korrekte Konstante für den zweiten Parameter von gethostbyaddr ist AF_INET. Durch Übergabe von $addr und AF_INET wird gethostbyaddr richtig versorgt und gibt den Hostnamen zur Beispieladresse 127.0.0.1 aus (üblicherweise localhost).

nach obennach unten

gethostbyname - Eintrag mit bestimmtem Hostnamen aus /etc/hosts ermitteln

Ermittelt aus der Datei nach oben /etc/hosts die IP-Adresse zu einem bestimmten Hostnamen.

Erwartet als Parameter:
1. den gewünschten Hostnamen.

Gibt die zugehörige IP-Adresse zurück, allerdings binär numerisch.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

use Socket;
my $addr  = gethostbyname("localhost");
my $Wert = inet_ntoa($addr);
print "$Wert";

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel zeigt, wie Sie die IP-Adresse zu einem Hostnamen auf dem Rechner ermitteln können. Dazu wird das Seite Standardmodul Socket verwendet. Damit lässt sich der binär numerische Rückgabewert von gethostbyname, der im Beispiel in dem Skalar $addr gespeichert wird, bequem in die übliche Schreibweise konvertieren. Durch Aufruf der Modul-Funktion inet_ntoa wird $addr in die übliche Schreibweise umgewandelt. Das Ergebnis der Konvertierung wird im Beispiel in dem Skalar $Wert gespeichert. Anschließend wird die IP-Adresse zu dem Hostnamen localhost ausgegeben (üblicherweise 127.0.0.1).

nach obennach unten

gethostent - nächsten Eintrag von /etc/hosts ermitteln

Ermittelt im skalaren Kontext den jeweils nächsten Eintrag aus der Datei nach oben /etc/hosts oder im Listenkontext eine Liste mit fünf und mehr Elementen.

Erwartet keine Parameter.

Gibt je nach Kontext entweder den nächsten Dateieintrag oder die Liste zurück. Bei Dateiende wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my @Liste = gethostent();
while(@Liste) {
  print "$Liste[0]   $Liste[1]   $Liste[2]";
  for(my $i = 0; $i < $Liste[3]; $i++) {
    (my $a, my $b, my $c, my $d) = unpack('C4',$Liste[4+$i]);
    print "  $a.$b.$c.$d";
  }
  print "\n";
  @Liste = gethostent();
}

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel zeigt, wie Sie alle Einträge der Datei /etc/hosts mit einem CGI-Script ausgeben lassen können. Zunächst wird gethostent erstmals aufgerufen. Der Rückgabewert wird als Listenkontext interpretiert und im Array @Liste gespeichert. Solange die Liste einen Inhalt enthält - while(@Liste) - werden die Elemente der Liste ausgegeben, und getgrent wird für den nächsten Schleifendurchgang aufgerufen. Die Liste enthält als letztes Listenelement wiederum eine Liste, sodass eine weitere innere Seite for-Schleife nötig ist, um alle Elemente zu ermitteln. Die Elemente der Liste, die von der Funktion zurückgegeben wird, sind:
$Liste[0] = Hostname,
$Liste[1] = Aliasnamen des Hostnamens,
$Liste[2] = Adresstyp,
$Liste[3] = Anzahl der noch folgenden Listenelemente
$Liste[4] und weitere = zugeordnete IP-Adressen
Die zugeordneten IP-Adressen sind binär gespeichert. Um die übliche Vier-Zahlen-Darstellung zu erhalten, muss die binäre Schreibweise erst konvertiert werden. Das ist durch Anwendung der Funktion Seite unpack mit C4 als erstem Parameter möglich, so wie im obigen Beispiel. Dort werden auf diese Weise die vier Einzelzahlen der IP-Adresse ermittelt und in den Skalaren $a, $b, $c und $d gespeichert.

nach obennach unten

getlogin - Namen des aktuellen Benutzers ermitteln

Erwartet keine Parameter.

Gibt den Loginnamen des aktuellen Benutzers zurück.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
my $Wert = getlogin();
print "$Wert\n";
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt den Loginnamen mit getlogin, speichert ihn in dem Skalar $Wert und gibt diesen zur Kontrolle aus.

nach obennach unten

getnetbyaddr - Eintrag mit bestimmter IP aus /etc/networks ermitteln

Ermittelt aus der Datei nach oben /etc/networks den Netzwerknamen zu einer bestimmten IP-Adresse.

Erwartet als Parameter:
1. die gewünschte IP-Adresse, und zwar numerisch in binärer Schreibweise.
2. den Adresstyp der IP-Adresse (numerisch).

Gibt den zugehörigen Netzwerknamen zurück. Wenn die angegebene IP-Adresse nicht gefunden wurde, wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

use Socket;
my $addr = inet_aton("127.0.0.0");
my $Wert  = getnetbyaddr($addr, AF_INET);
print "$Wert\n";

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel zeigt, wie Sie den Netzwerknamen zu einer IP-Adresse auf dem Rechner ermitteln können. Um die etwas komplizierte Parameterversorgung der Funktion getnetbyaddr sicherzustellen, wird das Seite Standardmodul Socket verwendet. Durch Aufruf der Modul-Funktion inet_aton wird eine in üblicher Schreibweise notierte, übergebene IP-Adresse in die erforderliche binäre Form umgewandelt. Das Ergebnis wird in dem Skalar $addr gespeichert. Das Modul Socket stellt auch Konstanten für den Adresstyp zur Verfügung. Die korrekte Konstante für den zweiten Parameter von gethostbyaddr ist AF_INET. Durch Übergabe von $addr und AF_INET wird getnetbyaddr richtig versorgt und gibt den Netzwerknamen zur Beispieladresse 127.0.0.0 aus (üblicherweise loopback).

nach obennach unten

getnetbyname - Eintrag mit bestimmtem Netzwerknamen aus /etc/networks ermitteln

Ermittelt aus der Datei nach oben /etc/networks die IP-Adresse zu einem bestimmten Netzwerknamen.

Erwartet als Parameter:
1. den gewünschten Netzwerknamen.

Gibt die zugehörige IP-Adresse zurück, allerdings binär numerisch.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

use Socket;
my $addr  = getnetbyname("loopback");
my $Wert = inet_ntoa($addr);
print "$Wert";

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel zeigt, wie Sie die IP-Adresse zu einem Netzwerknamen auf dem Rechner ermitteln können. Dazu wird das Seite Standardmodul Socket verwendet. Damit lässt sich der binär numerische Rückgabewert von getnetbyname, der im Beispiel in dem Skalar $addr gespeichert wird, bequem in die übliche Schreibweise konvertieren. Durch Aufruf der Modul-Funktion inet_ntoa wird $addr in die übliche Schreibweise umgewandelt. Das Ergebnis der Konvertierung wird im Beispiel in dem Skalar $Wert gespeichert. Anschließend wird die IP-Adresse zu dem Netzwerknamen loopback ausgegeben (üblicherweise 127.0.0.0).

nach obennach unten

getnetent - nächsten Eintrag von /etc/networks ermitteln

Ermittelt im skalaren Kontext den jeweils nächsten Eintrag aus der Datei nach oben /etc/networks oder im Listenkontext eine Liste mit vier Elementen.

Erwartet keine Parameter.

Gibt je nach Kontext entweder den nächsten Dateieintrag oder die Liste zurück. Bei Dateiende wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my @Liste = getnetent();
while(@Liste) {
  print "$Liste[0]  $Liste[1]  $Liste[2]  $Liste[3]\n";
  @Liste = getnetent();
}

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel zeigt, wie Sie alle Einträge der Datei /etc/networks mit einem CGI-Script im Browser ausgeben können. Zunächst wird getnetent erstmals aufgerufen. Der Rückgabewert wird als Listenkontext interpretiert und im Array @Liste gespeichert. Solange die Liste einen Inhalt enthält - while(@Liste) - werden die vier Elemente der Liste ausgegeben, und getnetent wird für den nächsten Schleifendurchgang aufgerufen. Die vier Elemente der Liste, die von der Funktion zurückgegeben wird, sind:
$Liste[0] = Name des Netzwerks,
$Liste[1] = Aliasnamen des Netzwerks,
$Liste[2] = Adresstyp,
$Liste[3] = Nummer des Netzwerks

nach obennach unten

getprotobyname - Eintrag mit bestimmtem Protokollnamen aus /etc/protocols ermitteln

Ermittelt aus der Datei nach oben /etc/protocols die Protokollnummer zu einem bestimmten Protokollnamen.

Erwartet als Parameter:
1. den gewünschten Protokollnamen.

Gibt die zugehörige Protokollnummer zurück. Wenn der übergebene Protokollname nicht gefunden wurde, wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my $Wert = getprotobyname("tcp");
print "$Wert\n";

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt die Protokollnummer zum Protokoll tcp. Dazu dient der Aufruf getprotobyname("tcp"), dessen Rückgabewert im Skalar $Wert gespeichert wird. Zur Kontrolle wird der Wert ausgegeben.

nach obennach unten

getprotobynumber - Eintrag mit bestimmter Protokollnummer aus /etc/protocols ermitteln

Ermittelt aus der Datei nach oben /etc/protocols den Protokollnamen zu einer bestimmten Protokollnummer.

Erwartet als Parameter:
1. die gewünschte Protokollnummer.

Gibt den zugehörigen Protokollnamen zurück. Wenn die übergebene Protokollnummer nicht gefunden wurde, wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my $Wert = getprotobynumber(17);
print "$Wert\n";

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt den Protokollnamen zur Protokollnummer 17. Dazu dient der Aufruf getprotobynumber(17), dessen Rückgabewert im Skalar $Wert gespeichert wird. Zur Kontrolle wird der Wert ausgegeben.

nach obennach unten

getprotoent - nächsten Eintrag von /etc/protocols ermitteln

Ermittelt im skalaren Kontext den jeweils nächsten Eintrag aus der Datei nach oben /etc/protocols oder im Listenkontext eine Liste mit drei Elementen.

Erwartet keine Parameter.

Gibt je nach Kontext entweder den nächsten Dateieintrag oder die Liste zurück. Bei Dateiende wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my @Liste = getprotoent();
while(@Liste) {
  print "$Liste[0]  $Liste[1]  $Liste[2]\n";
  @Liste = getprotoent();
}

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel zeigt, wie Sie alle Einträge der Datei /etc/protocols mit einem CGI-Script ausgeben lassen können. Zunächst wird getprotoent erstmals aufgerufen. Der Rückgabewert wird als Listenkontext interpretiert und im Array @Liste gespeichert. Solange die Liste einen Inhalt enthält - while(@Liste) - werden die vier Elemente der Liste ausgegeben, und getnetent wird für den nächsten Schleifendurchgang aufgerufen. Die drei Elemente der Liste, die von der Funktion zurückgegeben wird, sind:
$Liste[0] = Protokollname,
$Liste[1] = Protokollnummer,
$Liste[2] = Aliasname des Protokolls

nach obennach unten

getpwent - nächsten Eintrag von /etc/passwd ermitteln

Ermittelt im skalaren Kontext den jeweils nächsten Eintrag aus der Datei nach oben /etc/passwd oder im Listenkontext eine Liste mit bis zu neun Elementen.

Erwartet keine Parameter.

Gibt je nach Kontext entweder den nächsten Dateieintrag oder die Liste zurück. Bei Dateiende wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my @Liste = getpwent();
while(@Liste) {
  print "$Liste[0]  $Liste[1]  $Liste[2]  $Liste[3]  $Liste[4]  $Liste[5]  $Liste[6]  $Liste[7]  $Liste[8]\n";
  @Liste = getpwent();
}

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel zeigt, wie Sie alle Einträge der Datei /etc/passwd mit einem CGI-Script ausgeben lassen können. Zunächst wird getpwent erstmals aufgerufen. Der Rückgabewert wird als Listenkontext interpretiert und im Array @Liste gespeichert. Solange die Liste einen Inhalt enthält - while(@Liste) - werden die neun Elemente der Liste ausgegeben, und getpwent wird für den nächsten Schleifendurchgang aufgerufen. Die neun Elemente der Liste, die von der Funktion zurückgegeben wird, sind:
$Liste[0] = Benutzername,
$Liste[1] = Benutzerpasswort(verschlüsselt),
$Liste[2] = Benutzernummer (UID),
$Liste[3] = Nummer der zugehörigen Berechtigungsgruppe (GID),
$Liste[4] = beschreibende Angaben,
$Liste[5] = beschreibende Angaben,
$Liste[6] = Heimatverzeichnis des Benutzers,
$Liste[7] = Shell des Benutzers,
$Liste[8] = (optional) Verfallszeitpunkt der Gültigkeit des Eintrags

nach obennach unten

getpwnam - Eintrag mit bestimmtem Benutzernamen aus /etc/passwd ermitteln

Ermittelt zu einem bestimmten Benutzernamen den Eintrag aus der Datei nach oben /etc/passwd den zugehörigen Eintrag. Im skalaren Kontext wird die Benutzernummer (UID) ermittelt, im Listenkontext eine Liste mit bis zu neun Elementen.

Erwartet als Parameter:
1. den gewünschten Benutzernamen.

Gibt im skalaren Kontext die zugehörige Benutzernummer (UID) und im Listenkontext eine Liste mit allen Daten des Eintrags zurück. Wenn der Benutzername nicht gefunden wurde, wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my @Liste = getpwnam("uucp");
print "$Liste[0]  $Liste[1]  $Liste[2]  $Liste[3]  $Liste[4]  $Liste[5]  $Liste[6]  $Liste[7]  $Liste[8]\n";

my $Wert = getpwnam("uucp");
print "$Wert\n";

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt für den Benutzernamen uucp, der der Funktion getpwnam übergeben wird, den zugehörigen Eintrag - zuerst im Listenkontext, und beim zweiten Aufruf im skalaren Kontext. Im Listenkontext werden alle neun Elemente des Eintrags ermittelt und im Array @Liste gespeichert, im skalaren Kontext nur die Benutzernummer (UID), gespeichert im Skalar $Wert. Das Beispiel gibt beide Aufrufergebnisse zur Kontrolle aus. Zur Bedeutung der Array-Elemente siehe Funktion nach oben getpwent.

nach obennach unten

getpwuid - Eintrag mit bestimmter Benutzernummer aus /etc/passwd ermitteln

Ermittelt zu einer bestimmten Benutzernummer (UID) den Eintrag aus der Datei nach oben /etc/passwd den zugehörigen Eintrag. Im skalaren Kontext wird der Benutzername ermittelt, im Listenkontext eine Liste mit bis zu neun Elementen.

Erwartet als Parameter:
1. die gewünschte Benutzernummer (UID).

Gibt im skalaren Kontext den zugehörigen Benutzernamen und im Listenkontext eine Liste mit allen Daten des Eintrags zurück. Wenn die Benutzernummer nicht gefunden wurde, wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my @Liste = getpwuid(2);
print "$Liste[0]  $Liste[1]  $Liste[2]  $Liste[3]  $Liste[4]  $Liste[5]  $Liste[6]  $Liste[7]  $Liste[8]\n";

my $Wert = getpwuid(2);
print "$Wert\n";

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt für die Benutzernummer 2, der der Funktion getpwuid übergeben wird, den zugehörigen Eintrag - zuerst im Listenkontext, und beim zweiten Aufruf im skalaren Kontext. Im Listenkontext werden alle neun Elemente des Eintrags ermittelt und im Array @Liste gespeichert, im skalaren Kontext nur der Benutzername, gespeichert im Skalar $Wert. Das Beispiel gibt beide Aufrufergebnisse zur Kontrolle aus. Zur Bedeutung der Listenelemente siehe Funktion nach oben getpwent.

nach obennach unten

getservbyname - Eintrag mit bestimmtem Portnamen aus /etc/services ermitteln

Ermittelt aus der Datei nach oben /etc/services die Portnummer zu einem bestimmten Netzwerkdienst.

Erwartet als Parameter:
1. den Namen des gewünschten Netzwerkdienstes,
2. den Namen des gewünschten Protokolls.

Gibt die zugehörige Portnummer zurück. Wenn der übergebene Netzwerkname oder das Protokoll nicht gefunden wurde, wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my $Wert = getservbyname("www","tcp");
print "$Wert\n";

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt die Portnummer zum Netzwerkdienst www auf dem Netzwerkprotokoll tcp. Dazu dient der Aufruf getservbyname("www","tcp"), dessen Rückgabewert im Skalar $Wert gespeichert wird. Zur Kontrolle wird der Wert ausgegeben.

nach obennach unten

getservbyport - Eintrag mit bestimmter Portnummer aus /etc/services ermitteln

Ermittelt aus der Datei nach oben /etc/services den Namen eines Netzwerkdienstes zu einer bestimmten Portnummer.

Erwartet als Parameter:
1. die gewünschten Portnummer,
2. den Namen des gewünschten Protokolls.

Gibt den Namen des zugehörigen Netzwerkdienstes zurück. Wenn die übergebene Portnummer oder das Protokoll nicht gefunden wurde, wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my $Wert = getservbyport(80,"tcp");
print "$Wert\n";

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel ermittelt den Namen des Netzwerkdienstes mit der Portnummer 80 auf dem Netzwerkprotokoll tcp. Dazu dient der Aufruf getservbyport(80,"tcp"), dessen Rückgabewert im Skalar $Wert gespeichert wird. Zur Kontrolle wird der Wert ausgegeben.

nach obennach unten

getservent - nächsten Eintrag von /etc/services ermitteln

Ermittelt im skalaren Kontext den jeweils nächsten Eintrag aus der Datei nach oben /etc/services oder im Listenkontext eine Liste mit vier Elementen.

Erwartet keine Parameter.

Gibt je nach Kontext entweder den nächsten Dateieintrag oder die Liste zurück. Bei Dateiende wird undef zurückgegeben.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";

my @Liste = getservent();
while(@Liste) {
  print "$Liste[0]  $Liste[1]  $Liste[2]  $Liste[3]\n";
  @Liste = getservent();
}

print "</pre></body></html>\n";

Erläuterung:

Das Beispiel zeigt, wie Sie alle Einträge der Datei /etc/services mit einem CGI-Script ausgeben lassen können. Zunächst wird getservent erstmals aufgerufen. Der Rückgabewert wird als Listenkontext interpretiert und im Array @Liste gespeichert. Solange die Liste einen Inhalt enthält - while(@Liste) - werden die vier Elemente der Liste ausgegeben, und getservent wird für den nächsten Schleifendurchgang aufgerufen. Die vier Elemente der Liste, die von der Funktion zurückgegeben wird, sind:
$Liste[0] = Name des Netzwerkdienstes,
$Liste[1] = Aliasname des Netzwerkdienstes,
$Liste[2] = Portnummer des Netzwerkdienstes,
$Liste[3] = Name des zugehörigen Protokolls

nach obennach unten

setgrent - zum Anfang von /etc/groups springen

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
setgrent();
my $Wert = getgrent();
print "$Wert\n";
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel springt mit setgrent zum Anfang der Datei. Anschließend liest es mit nach oben getgrent den nächsten, in dem Fall den ersten Eintrag der Datei aus. Der Rückgabewert, der im Skalar $Wert gespeichert ist, wird zur Kontrolle ausgegeben.

nach obennach unten

sethostent - zum Anfang von /etc/hosts springen

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
sethostent();
my $Wert = gethostent();
print "$Wert\n";
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel springt mit sethostent zum Anfang der Datei. Anschließend liest es mit nach oben gethostent den nächsten, in dem Fall den ersten Eintrag der Datei aus. Der Rückgabewert, der im Skalar $Wert gespeichert ist, wird zur Kontrolle ausgegeben.

nach obennach unten

setnetent - zum Anfang von /etc/networks springen

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
setnetent();
my $Wert = getnetent();
print "$Wert\n";
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel springt mit setnetent zum Anfang der Datei. Anschließend liest es mit nach oben getnetent den nächsten, in dem Fall den ersten Eintrag der Datei aus. Der Rückgabewert, der im Skalar $Wert gespeichert ist, wird zur Kontrolle ausgegeben.

nach obennach unten

setprotoent - zum Anfang von /etc/protocols springen

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
setprotoent();
my $Wert = getprotoent();
print "$Wert\n";
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel springt mit setprotoent zum Anfang der Datei. Anschließend liest es mit nach oben getprotoent den nächsten, in dem Fall den ersten Eintrag der Datei aus. Der Rückgabewert, der im Skalar $Wert gespeichert ist, wird zur Kontrolle ausgegeben.

nach obennach unten

setpwent - zum Anfang von /etc/passwd springen

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
setpwent();
my $Wert = getpwent();
print "$Wert\n";
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel springt mit setpwent zum Anfang der Datei. Anschließend liest es mit nach oben getpwent den nächsten, in dem Fall den ersten Eintrag der Datei aus. Der Rückgabewert, der im Skalar $Wert gespeichert ist, wird zur Kontrolle ausgegeben.

nach obennach unten

setservent - zum Anfang von /etc/services springen

Erwartet keine Parameter.

Beispiel eines vollständigen CGI-Scripts in Perl:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body><pre>\n";
setservent();
my $Wert = getservent();
print "$Wert\n";
print "</pre></body></html>\n";

Erläuterung:

Das Beispiel springt mit setservent zum Anfang der Datei. Anschließend liest es mit nach oben getservent den nächsten, in dem Fall den ersten Eintrag der Datei aus. Der Rückgabewert, der im Skalar $Wert gespeichert ist, wird zur Kontrolle ausgegeben.

 nach oben
weiter Seite Funktionen für Module und Packages
zurück Seite Funktionen für Betriebssystemaufrufe
 

© 2007 Seite Impressum

Originaladresse dieses Dokuments: http://de.selfhtml.org/perl/funktionen/konfiguration.htm