And it shouldn't... . is string concatenation in perl, so perl is trying to concatenate barewords... with => perl allows you to not quote the string on the left, but only very simple strings without . or spaces and the like... put your left hand side strings in quotes and all will be well...