In general, if I need to use a regex that involves anything like:
- unicode characters (whether literal or via "\x{HHHH}" notation)
- unicode character classes (\pL \pM \pP \p{InArabic} etc)
- procedural manipulation in a regex string replacement (s/.../.../e)
- "symbolic" classes that I only learned through perl usage (\w, \d, \s)
- non-capturing groups: (?:...)
- zero-width assertions, including:
- look-ahead and look-behind assertions
- ...
my inclination is to just use Perl. I wouldn't be surprised if other tools implement some or all of the same things (possibly with the same syntax that Perl uses), but I know Perl does all these things, so it's just less work to use Perl.
(Also, I know that Perl regexes in 5.10 and later allow a lot of stuff that I haven't even needed to learn yet...)