Perl tells you what the problem is - "Unmatched ( in regex" - and shows you exactly where the problem is.

So, going back to your regex, you have an unmatched opening parenthesis. Parentheses are special characters in regexes and have to come in matched pairs. Let's look at your regex, starting from the unmatched character:

Code

(/d+\) MB.*?

Well, there's a closing parenthesis character there, but it's escaped. So you have an opening parenthesis that is interpreted as a special character and a closing parenthesis that is escaped and is therefore interpreted literally (i.e. not as a special character.

So you need to decide what you're actually trying to do with that pair of parentheses. Are they supposed to be used as special characters or as literal characters?

Depending on which you choose, your regex should become:

Code

\(/d+\) MB.*?

or

Code

(/d+) MB.*?

Looking at your original data, it seems that the section of data that you're trying to match at this point doesn't have parentheses around it. So I bet that you meant to use the parentheses as special characters not as literals. So neither of them should be escaped. So the second option above is most likely to be what you need.

See, Perl gave you all the help it could. And the error message was actually really clear about what the problem is. You didn't need our help at all!