D:\perl\psmail-1.0>perl -MData::Dumper -w -e "use strict; print Dumper({-font-family => 'not-valid'})" Argument "family" isn't numeric in subtraction (-) at -e line 1. Argument "-font" isn't numeric in subtraction (-) at -e line 1. $VAR1 = { '0' => 'not-valid' }; D:\perl\psmail-1.0>perl -MData::Dumper -w -e "use strict; print Dumper({-fontfamily => 'not-valid'})" $VAR1 = { '-fontfamily' => 'not-valid' }; # Deparse gets this one _wrong_ D:\perl\psmail-1.0>perl -MO=Deparse -MCGI -e "use strict; my $q = new CGI ; print $q->Tr({-fontfamily => 'not-valid'})" my $q = 'CGI'->new; print $q->Tr({-'fontfamily', 'not-valid'}); -e syntax OK # Hard to say for sure, but apparently Deparse gets this right. But why doesnt it die? D:\perl\psmail-1.0>perl -MO=Deparse -MCGI -e "use strict; my $q = new CGI ; print $q->Tr({-font-family => 'not-valid'})" my $q = 'CGI'->new; print $q->Tr({-'font' - 'family', 'not-valid'}); -e syntax OK