Thread Problem mit Hashes/Values (4 answers)
Opened by Pandurx at 2007-06-28 17:49

Pandurx
 2007-06-28 17:49
#77975 #77975
User since
2007-06-25
6 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,
ich komme mit meinem Programm nicht weiter.
Ich habe immernoch meine Datei im Format
Quote
root: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.

Code: (dl )
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

View full thread Problem mit Hashes/Values