use strict;
use warnings;

my($uid, $gid, $dir);

my $rHoH = getpasswd();
     
for my $login (sort (keys(%$rHoH)))
  {
  # Methode 1, am lesbarsten:
  $uid = $rHoH->{$login}->{'uid'};
  
  # Methode 2, geht so:
  $gid = ${$rHoH->{$login}}{'gid'};

  # Methode 3, relativ unlesbar:
  $dir = ${${$rHoH}{$login}}{'dir'};
  
  print "$login -- uid: $uid, gid: $gid, dir, $dir.\n";
  }

sub getpasswd
  {
  my %HvH = (
        'root' => {
                  'uid'  => '0',
                  'gid'  => '0',
                  'dir'  => '/root'
                  },
        'bobo' => {
                  'uid'  => '500',
                  'gid'  => '100',
                  'dir'  => '/home/bobo'
                  },
        'bibo' => {
                  'uid'  => '501',
                  'gid'  => '100',
                  'dir'  => '/home/bibo'
                  },
        'bibi' => {
                  'uid'  => '502',
                  'gid'  => '100',
                  'dir'  => '/home/bibi'
                  },
       );
  return \%HvH;
  }
