use strict; use warnings; use autodie; my $filename = 'something.doc'; my @results; open my $in_fh, '<', $filename; my( $module, $id ); while( my $line = <$in_fh> ) { chomp $line; if( $line =~ /^Module:\s+(\d+)/ ) { $module = $1; next; } if( $line =~ /^ID:(\d+)/ ) { $id = $1; next; } if( $line =~ /yes/ ) { push @results, [ $id, $module ]; } }