use strict; use warnings; use 5.012; use Data::Dumper; my $s1 = '45 20 00 00 00 03 00'; my $s2 = '40 20 00 00 00 00 00'; while ((my @a = $s1 =~ /(\d{2})/g) && (my @b = $s2 =~ /(\d{2})/g)){ say "found $a[0] and $b[0] !!!"; say Dumper(\@a, \@b); }