El operador s/// no se usa de esa manera... Supongo que te refieres al operador m//.
La opción /g se suele usar dentro de bucles while(), ya que sirve para aplicar una búsqueda repetida. O asignar resultados como si fueran una lista de valores, a un
array.
En $mayus no se guarda nada. Cuando pones
$mayus =~ /patrón/ estás escribiendo una expresión regular, indicando que quieres buscar el patrón dentro de $mayus. El resultado de la expresión regular será verdadero o falso, si la ejecutas en contexto escalar. Y una lista de capturas si la ejecutas en contexto lista.
Por ejemplo:
Using perl Syntax Highlighting
while ($linea_del_fichero_de_texto =~ m/\b(?<palabra>[[:upper:]]+)\b/g) {
say "Palabra en mayúsculas: $+{palabra}";
}
Coloreado en 0.005 segundos, usando
GeSHi 1.0.8.4
Naturalmente, para que Perl sepa que 'Ñ' es una letra mayúscula, debes configurar el programa para que esté localizado en (alguna de las variedades de) español.