use warnings; use strict; while (my $line = ) { if ($line =~ m/"P7"\:/) { if ( $line =~ /Mem:(0x[[:xdigit:]]+) to Mem:(0x[[:xdigit:]]+)/) { print "First Value $1 \n"; print "Second Value $2 \n "; } } } __DATA__ P7: "P7": place in [from Mem:0x5ffa5800 to Mem:0x60077fff]