HoH problem representing a data structure.

[email protected] ("Rodrick Brown")
Newsgroups perl.beginners
Message-ID <[email protected]>
I'm trying to fully understand references so I created a data structure to
stores the output of users on my system who share home dirs.
I use a HoH to represent this data set but its not working as expected.
Conceptually I can visualize how the data should look but I cant get the
output any assistance will be appreciated thanks.

#!/usr/bin/perl -w
use strict;
use warnings;
use Data::Dumper;
my $file = '/etc/passwd';
my $hash;
my ($user, $homeDir);
my $count=0;
open(my $fh, "<", $file) or die("Fatal error unable to read $file: $!");
while(<$fh>) {
  next if /^#/;
  ($user, $homeDir) = (split /:/,$_)[0,5];
  $hash->{$homeDir} = $user;
}
print Dumper($hash);

My output looks like the following:

$VAR1 = {
          '/var/imap' => '_cyrus',
          '/var/empty' => '_unknown',
          '/Library/WebServer' => '_www',
          '/var/xgrid/agent' => '_xgridagent',
          '/var/virusmails' => '_amavisd',
          '/var/spool/cups' => '_lp',
          '/var/pcast/agent' => '_pcastagent',
          '/var/root' => 'daemon',
          '/var/spool/postfix' => '_postfix',
          '/var/teamsserver' => '_teamsserver',
          '/var/pcast/server' => '_pcastserver',
          '/var/xgrid/controller' => '_xgridcontroller',
          '/var/spool/uucp' => '_uucp'
        };


If I replace line 13 with the following the data structure looks some what
like what I wanted but it still not correct.
$hash->{$homeDir}->{$user} = 0; basically the value 0.

$VAR1 = {
          '/var/imap' => {
                           '_cyrus' => 0
                         },
          '/var/empty' => {
                            '_spotlight' => 0,
                            '_appserver' => 0,
                            '_ard' => 0,
                            '_appowner' => 0,
                            '_mcxalr' => 0,
                            'nobody' => 0,
                            '_qtss' => 0,
                            '_securityagent' => 0,
...
...
...

-- 
[ Rodrick R. Brown ]
http://www.rodrickbrown.com http://www.linkedin.com/in/rodrickbrown
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.