#!/usr/bin/perl -wl use strict; my %hash = (something => 1,precinct => 2); sub test { my $new = shift; print $new->{'precinct'}; } eval { print "as ref:"; test(\%hash); }; print $@ ? "Died: $@$/":"No error$/"; eval { print "as hash:"; test(%hash); }; print $@ ? "Died: $@$/":"No error$/"; __END__ as ref: 2 No error as hash: Died: Can't use string ("precinct") as a HASH ref while "strict refs" in use at test.pl line 8.