614 MNH,16.00|USED,32.00|PB,50.00 615 MNH,36.00|USED,12.00|PB,50.00 616 MNH,96.00|USED,2.00|PB,10.00 #### #!/usr/bin/perl -w use strict; my (@record, @details, @item, $detail, $scottnum, $details, %items); open(DB, "db.txt") || die "Could not open the database: $!"; while() { chomp; @record = split(/\t/); $scottnum = $record[0]; @details = split(/\|/, "$record[1]"); foreach $detail (@details) { @item = split(/,/, "$detail"); if (($item[0] ne "") && ($item[1] ne "")){ $items{"$item[0]"} = "$item[1]"; foreach my $key (%items) { print "$scottnum\t $key \t $items{$key}\n"; } } } } close(DB) || die "Could not close the database: $!";