$ perl -c -e'use strict; my %h; $h{foo}' -e syntax OK $ perl -c -e'use strict; my %h; $h{map $_, foo}' Bareword "foo" not allowed while "strict subs" in use at -e line 1. -e had compilation errors. $ perl -c -e'use strict; my %h; $h{f(foo)}' Bareword "foo" not allowed while "strict subs" in use at -e line 1. -e had compilation errors. $ perl -c -e'use strict; my %h; $h{foo,bar}' Bareword "foo" not allowed while "strict subs" in use at -e line 1. Bareword "bar" not allowed while "strict subs" in use at -e line 1. -e had compilation errors.