my $re_foo = qr{ ... (? ... ) ... (? ... ) }x; my $re_bar = qr{ ... (? ... ) ... (? ... ) ... }x; my $re_all = qr{$re_foo|$re_bar}; if ( $data =~ $re_all ) { return { %+ }; } ...