Thread Hash-Slice und die Ausgabe... (19 answers)
Opened by Duff at 2008-07-23 19:02

Duff
 2008-07-23 19:02
#112510 #112510
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Hallo,

ich habe folgendes Problem und blicke einfach nicht mehr durch.

Ich möchte aus der /etc/passwd alle Benutzer in einem Hash speichern und als Wert sollen dann noch ein paar weitere Informationen aus der DAtei gespeichert werden.

Dass Ganze hat soweit auch funktioniet, nur komme ich mit der Ausgabe ohne print Dumper nicht zurecht.

Code (perl): (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
sub parse_passwd {
        open(FILE,"<","$passwd");
        while(<FILE>) {
                # $user = Login-Name des Benutzers
                # $x    = stand früher das verschlüsselte Passwort, welches nun in /etc/shadow steht 
                # $id   = User-ID des Benutzers
                # $gid  = ID der Hauptgruppe des Benutzers
                # $com  = Kommentar/Beschreibung des Benutzers
                # $home = Home-Verzeichnis des Benutzers
                ($user,$x,$uid,$gid,$com,$home)=split(/:/,$_);
                if($uid >= 1000 && $user =~ /^[A-Za-z0-9]+$/) {
                        push @{$passwd{$user}},"$uid $gid $com $home" unless exists $passwd{$user};
                }
        }
        close(FILE);
        return \%passwd;
}


sub print_passwd {
        my $var=shift;
        print Dumper($var);
}

my $get_passwd=parse_passwd();
print_passwd($get_passwd);


Die Ausgabe mit Dumper sieht so aus:
Code: (dl )
1
2
3
4
5
6
7
8
$VAR1 = {
'daniel' => [
'1000 1000 daniel,,, /home/daniel'
],
'sshuser' => [
'1006 1010 /mirror/home/sshuser/'
]
};
D'OH
Daniel

View full thread Hash-Slice und die Ausgabe...