while () { chomp; my $linenum = $.; if (/^data_raw/) { $indata{INFILE_RAW}{$linenum}{VALUE} = (split(/\s+/,$prevline))[-1]; $indata{INFILE_RAW}{$linenum}{GROUP} = (split(/\s+/,$prevline2))[-1]; } $prevline2 = $prevline; $prevline = $_; }