You could try to compile both regexes with
use re 'debug'; and compare those outputs:
perl -c -Mre=debug -e 'm/123*/'
Freeing REx: `","'
Compiling REx `123*'
size 6 Got 52 bytes for offset annotations.
first at 1
rarest char 2 at 1
1: EXACT <12>(3)
3: STAR(6)
4: EXACT <3>(0)
6: END(0)
...
The indented part is the interesting one. If two regexes show the same output in the indented part, they will match the same pattern (the reversion isn't always true, because (a|b) and (b|a) behave the same in some regexes, and behave differently in others (not quite sure, but you can construct cases with alternation where the order somtimes matter, and somtimes not)).
I don't know if you can access this information from inside perl, perhaps with one of the B:: modules, if not you can still use backticks or qx to execute a command line like the one I showed.