|
testpasswd.pl |
#!/usr/local/bin/perl -w require Passwd; (my $cmdname = $0) =~ s{.*/}{}; die "Usage: $cmdname login\n" unless @ARGV == 1; my $pwentry = Passwd::getpwent_by_login($ARGV[0]); if (defined $pwentry) { print "Name: $pwentry->{name}\n"; print "UID: $pwentry->{uid}\n"; print "GID: $pwentry->{gid}\n"; } else { print "$ARGV[0] ist unbekannt!\n"; } |
Mit require wird ein Modul importiert. Dadurch
wird nicht der aktuelle Namensraum beeinflusst.
| |
Module werden in allen Verzeichnissen gesucht,
die in @INC enthalten sind. Dazu gehören alle
Bibliotheks-Verzeichnisse von Perl und das aktuelle Verzeichnis.
Die Liste kann mit der Environment-Variablen PERL5LIB
oder der Kommandozeilenoption -Idir erweitert werden.
Alternativ kann natürlich @INC explizit manipuliert werden.
| |
Alle Prozedur- oder Variablennamen aus einem so
importierten Modul müssen mit dem Modulnamen
voll qualifiziert werden.
| |
Es gibt in Perl keinen (einfachen) Schutz gegen
die Verwendung von Internas eines Moduls. Per Konvention beginnen
private Namen mit einem _.
|
Copyright © 2000 Ingo Melzer, in HTML konvertiert am 10.11.2000 |