#!/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