{ local $/ = "\$\$\$\$\n"; # apparent record delimiter while (<>) { my @lines = split( /\n/ ); my %fields = (); while ( @lines ) { $_ = shift @lines; if ( /^> <([^>]+)/ ) { my $fldname = $1; $fldname = "MolName" if ( $fldname eq '$NAM' ); $fields{$fldname} = shift @lines; } } # do something to put %fields into mysql... } }