If you're accessing a variable named "in" with curly brackets, it's probably a hash. Also, if I recall correctly, ReadParse might be trying to set a package variable. If you're determined to do this (and CGI.pm is a much better alternative), you may have better luck with use vars qw( %in );
Don't pass up the opportunity to move to the far superior CGI.pm, though.