Module

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

Passwd.pm
package Passwd;

$passwd = "</etc/passwd";
open(PASSWD, $passwd) ||
   die "Unable to read from $passwd\n";
while(<PASSWD>) {
   chomp;
   ($login, $passwd, $uid, $gid,
      $name, $home, $shell) = split /:/;
   $passwd_by_uid{$uid} =
   $passwd_by_login{$login} = {
      login => $login, passwd => $passwd,
      uid => $uid, gid => $gid,
      name => $name, home => $home, shell => $shell
   };
}
close(PASSWD);

sub getpwent_by_uid { return $passwd_by_uid{$_[0]}; }
sub getpwent_by_login { return $passwd_by_login{$_[0]}; }

1; # Beim Laden muss TRUE zurueckgeliefert werden

*Jedes Modul hat seinen eigenen Namensraum und entsprechend gibt es keine globale Variablen -- abgesehen von verschiedenen Standard-Variablen von Perl ($_ zum Beispiel).
 
*Die Dateiendung für Perl-Module ist zwingend .pm.
 
*Modulnamen sollten mit einem Großbuchstaben beginnen, um Probleme und Kollisionen zu vermeiden.
 

 [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