In other words:
m/ ^(\S+) # Grab all non white space at the start into $1
\s+ # Skip any white space
([^:]+) # Now grab everything that isn't a colon in $2
: # End the grab for $2 at the colon
\s+ # Skip any white space
( # Going to capture into $3
(?: # Start non-capturing parens
(?! # Start negative lookahead
\s* # Look for some white space
\(rev # Followed by (rev
) # Close negative lookahead
.) # Close non-capturing parens
+) # So if whitespace followed by (rev, grab it $3
\s* # Up until some white space
(.*) # Grab everything else after the white space into
+$4
/x;
I really just wanted to demonstrate to the OP how to powerfully use the /x modifier