The constructs that can contain code ((?{...}) and (??{...})) cannot be interpolated into a regexp by default. So as long as use re 'eval'; isn't used, they won't be able to execute arbitrary code.
However! It is possible for them to construct a regexp that will take until the death of the universe to process, causing a denial of service if left unchecked.
It's also possible to create a regexp that crashes Perl (by overflowing the stack, IIRC). That particular issue has been fixed in 5.10, I believe.
In reply to Re: how to restrict a regexp?
by ikegami
in thread how to restrict a regexp?
by tfoertsch
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |