Como você está usando sub - padrão quantificado e conforme descrito no Perl Doc ,
Por padrão, um sub-padrão quantificado é " ganancioso ", ou seja, corresponderá o maior número de vezes possível (dado um local de partida específico), enquanto ainda permite que o restante do padrão seja correspondido. Se você deseja que ele
corresponda ao número mínimo de vezes possível, siga o quantificador
com um "?" . Note que os significados não mudam, apenas a "ganância":
*? //Match 0 or more times, not greedily (minimum matches)
+? //Match 1 or more times, not greedily
Portanto, para permitir que seu padrão quantificado faça a correspondência mínima, siga-o ?
:
/location="(.*?)"/