use strict; use warnings; sub foo(){ 'x' } $_ = -foo; # Ambiguous use of -foo # resolved as -&foo() at ./ol line 8. print; # '-x' sub bar() { -1 } $_ = -bar; #Ambigous ... as -&bar() ... print; # 1 !not "--1" my %h = ( -foo => 'FOO' ); print keys %h,' : ',$h{-foo}; # '-foo : FOO'