0x0 in mmgsdi_evt_cb mmgsdi X mmgsdi Y 0xd in mmgsdi_evt_cb 0x1a in mmgsdi_evt_cb ... #### #! perl use strict; use warnings; my ($process) = ; # slurp in all the data at once # Use a look-ahead assertion while ($process =~ /(0x[0-9a-f]{1,2})(.*?)(?=0x[0-9a-f]{1,2}|\Z)/gi) { my ($hex, $text) = ($1, $2); print "Match found: $hex$text\n" if $text =~ /in mmgsdi_evt_cb/; } print "Finished\n"; __DATA__ 0x0 in mmgsdi_evt_cb mmgsdi X mmgsdi Y 0xd in mmgsdi_evt_cb 0x1a in mmgsdi_evt_cb 0xe in mmgsdi_evt_cb 0xf in mmgsdi_evt_cb mmgsdi Z 0x13 in mmgsdi_evt_cb mmgsdi Z mmgsdi Z #### 15:31 >perl 882_SoPW.pl Match found: 0x0 in mmgsdi_evt_cb mmgsdi X mmgsdi Y Match found: 0xd in mmgsdi_evt_cb Match found: 0x1a in mmgsdi_evt_cb Match found: 0xe in mmgsdi_evt_cb Match found: 0xf in mmgsdi_evt_cb mmgsdi Z Match found: 0x13 in mmgsdi_evt_cb mmgsdi Z mmgsdi Z Finished 15:51 >