#!/usr/local/bin/perl -w use strict; use Data::Dumper; my %records; while ( ) { chomp; while ( m| (\w+)\s* = \s*([^,]+)\s* |gx ) { $records{$1} = $2; # add to hash } } print Dumper( \%records ); __DATA__ F1=D1, F2 = D2, F3= D3, F4 =D4, F5 = D5 #### $VAR1 = { 'F2' => 'D2', 'F3' => 'D3', 'F4' => 'D4', 'F5' => 'D5', 'F1' => 'D1' };