Hallo zusammen,
ich komme mit meinem Programm nicht weiter.
Ich habe immernoch meine Datei im Format
Quoteroot:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
Ich will zu jedem benutzen , die daten nach dem 2. : ausgeben.
Doch ich weiss nicht wie ich den hash fülle und die "values" hinzufüge.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
foreach $zeile (<Datei>)
{
my @zeile = split(/:/,$zeile); # Aufsplitten der Zeile
$zeile = join(':',(@zeile)[2,3,4,5,6]); # Array ohne User und Passwort
$namenliste{$zeile[0]} = $zeile; # hash füllen: key = user-name,
# value = UID, GID, Komment, home, shell
}
print "\n", "Datei Passwd erfolgreich eingelesen.\n";
close (Datei);
print "\n Dies sind die Namen der User. Welche User soll ausfuehrlich angezeigt werden? \n ";
foreach $key (keys(%namenliste))
{
print " $key \n";
}
print "Fuer welchen Benutzer sollen die Daten angezeigt werden? ";
$name = <STDIN>;
chomp ($name);
if (exists $namenliste{$name}) # Ausgabe der Daten für einen Benutzer
{
print "\nDaten des Benutzers $name aus passwd :";
print "\nUser-ID: $zeile[2]";
print "\nGroup-ID: $zeile[3]";
print "\nKommentar: $zeile[4]";
print "\nHome-Verz: $zeile[5]";
print "\nShell: $zeile[6]";
}
else
{ print "\nBenutzer falsch eingegeben"; }
Könnt ihr mir vielleicht helfen?
Danke und Gruß
Stefan aka Pandur