in reply to Swap between first found match

s/// does first match only by default. $text =~ s/"this first quote"/"that"/; should do it.

Also, I'd write your assignment as $text = qq{Test of "this first quote." Second quote "ignored."}; Less backslashing with the same interpolation..

------
We are the carpenters and bricklayers of the Information Age.

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.