my $hash; $hash{foo} = bar; #### my %hash; $hash{foo} = 'bar'; #Versus my $hash = {}; $hash->{foo} = 'bar'; #### #!/usr/bin/perl use strict; use warnings; use Data::Dumper; print "A lexical hash:\n"; my %hash; $hash{foo} = 'bar'; print Dumper(\%hash); print "A lexical hash *reference*:\n"; my $hash = {}; $hash->{foo} = 'bar'; print Dumper(\$hash);