Porque estas usando subpatrón cuantificado y como se describe en Perl Doc ,
De manera predeterminada, un subpatrón cuantificado es " codicioso ", es decir, coincidirá tantas veces como sea posible (dada una ubicación de inicio particular) mientras permite que el resto del patrón coincida. Si desea que
coincida con el número mínimo de veces posible, siga el cuantificador
con un "?" . Tenga en cuenta que los significados no cambian, solo la "codicia":
*? //Match 0 or more times, not greedily (minimum matches)
+? //Match 1 or more times, not greedily
Por lo tanto, para permitir que su patrón cuantificado haga una coincidencia mínima, sígalo ?
:
/location="(.*?)"/