http://qs321.pair.com?node_id=633247


in reply to match two elements from an array in a row

Just for fun, I wanted to try this with the regexp engine...
#!/usr/bin/perl use strict; use warnings; my @data = qw ( 01 b2 01 00 b6 81 81 01 b4 0a 01 01 01 01 00 01 00 00 01 00 c7 82 82 01 b2 01 00 b8 ); $_ = join(' ', @data); while ( /(8[[:xdigit:]])\s+\1/g ) { print "Duplicate $1 found at character " . pos() . "\n"; }
Produces...
bash$ superdoc.pl Duplicate 81 found at character 20 Duplicate 82 found at character 68
Using...
# while ( /([[:xdigit:]]{2})\s+\1/g ) {
instead, will match any repeated hex digit...
bash$ superdoc.pl Duplicate 81 found at position 20 Duplicate 01 found at position 35 Duplicate 01 found at position 41 Duplicate 00 found at position 53 Duplicate 82 found at position 68
Cheers!