my @lines = <$handle>; my %record; for (@lines) { next unless /^\| (\w+) \| (\d+)/; $record{$1} = $2; } #### my %record = $data =~ /^\| (\w+) \| (\d+)/g; #### my $rec1ref = \substr $data, $offset, $len; $$rec1ref = $newval;