A: A_value B: B_value C: C_value A: A_value B: B_value C: C_value #### my @data = readOnly( "Data.txt" ); my $i = 0; my $index = 0; my $a; my $b; my $c; while( $i < @data ) { if( $data[$i] =~ /A:/ ) { ( , $a) = split( /: /, $data[$i++] ); ( , $b) = split( /: /, $data[$i++] ); ( , $c) = split( /: /, $data[$i++] ); if( exists $baseline{$a} ) { $hash[$index++] = { a => $a, b => $b, c => $c, }; } } }