my $re = qr/"(.*?)" "(((\\")|[^"])*)"/; my %fsr_hash; while () { if (/$re/) { $fsr_hash{$1} = $2 } }