in reply to Using the read function...

If your quotes are necessary because your fields contain spaces or other special chars, don't use split. Rather, use a module that processes quotes and comma lists (you don't have commas, but you don't have to draw upon that feature. The quotes is the hard part). Search CPAN for "quote" and such. I know they exist, but am not familiar with specific modules.

It would be simpler to assign to hash members, not variables, with the results. E.g.

foreach (my $input) @data { my ($key, $value)= parseline ($input); $results{$key}=$value; }
—John