$line = "jlla jldsfjlfj lfla (1\p=n-\5) fk (2) ljljj ljlfaufi lfjlakfh (10, 11) lfjdlaj (10, 11\p=n-\15) ndsfdjksnk (2, 15, 16) dkhfak"; #### $line = "jlla jldsfjlfj lfla (1\p=n-\5) fk (2) ljljj ljlfaufi lfjlakfh (10, 11) lfjdlaj (10, 11\p=n-\15) ndsfdjksnk (2, 15, 16) dkhfak"; #### $line=~s!\(([1-9]{1,3}((, |\\p=n-\\)[1-9]{1,3})*)\)!\(@{[map"$_",split"(, |\\p=n-\\)",$1]}\)!g; #### Unmatched ( in regex; marked by <-- HERE in m/( <-- HERE , |\p=n-\)/ at s.pl line 8.