# open file, DB-connection, etc.. my %data; while (my $line = ) { chomp ($line); if ($line =~ m/^-+$/) { &save (%data); %data = (); } elsif ($line =~ m/^(\w+):\s(.+)$/) { $data{lc($1)} = $2; } elsif ($debug) { warn $line; } } sub save { # up to you :) }