in reply to A podcatcher in Perl

1309: if ( $value =~ m/^([A-Za-z0-9!#$%&'*+-.^_`|~]+) \s* : +\s* (.*)$/x ) {

Regular expressions, like double quoted strings, interpolate scalars and arrays so the $ and @ characters have to be escaped:

if ( $value =~ m/^([A-Za-z0-9!#\$%&'*+-.^_`|~]+) \s* : \s* +(.*)$/x ) {
Naked blocks are fun! -- Randal L. Schwartz, Perl hacker