use strict; use warnings; use Data::Dump qw(dump); $_ = $0; my %h; sub f { print('->f()') . '.0'; } $h{ f } = ' F'; $h{ +f } = ' +F'; $h{+ f } = '+ F'; $h{ -f } = ' -F'; $h{- f } = '- F'; $h{ f()} = ' ()'; $h{ -f()} = '-()'; $h{- f()} = '-()'; $h{ +f()} = '+()'; print "\n",dump(\%h),"\n";