#!/usr/bin/perl use strict; use warnings; my @row; # SQL prepare statement goes here. while (my $line = ) { next if $line =~ /^\s*$/; #skip blank lines if ($line =~ /^\s*RECZ/) #end of record { print "@row\n"; #would be DB row insert @row = (); #start new row } else { my @data = (split(' ',$line))[1,2]; push @row,@data; } } =prints DATAX DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 DATA8 DATAY DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 DATA8 =cut __DATA__ REC1 DATAX DATA2 1 REC2 DATA3 DATA4 2 REC3 DATA5 DATA6 3 REC4 DATA7 DATA8 4 RECZ 5 REC1 DATAY DATA2 6 REC2 DATA3 DATA4 7 REC3 DATA5 DATA6 8 REC4 DATA7 DATA8 9 RECZ 10