2009-11-23 4 views
6

Tengo algo de código de http://www.hyllander.org/node/23 que utiliza $* ("asterisco dólar" o "estrella dólar"), pero mi versión de los informes de Perl:

$* is no longer supported at migrate.pl line 284. 

¿Usted sabe cuáles fueron los efectos secundarios de hacer

$*=1 

¿Eso de alguna manera afectó funciones como split o tokenizadores o expresiones regulares?

+1

Todas las variables de Perl están documentadas en perlvar. –

+4

A menos que esté usando perl 5.10. Documenta todas las variables de Perl, pero no las discontinuadas. – innaM

+0

Puede encontrar cualquier versión de documentación dada, p. http://search.cpan.org/dist/perl-5.8.5 – ysth

Respuesta

16

Aquí es parte de la salida de perldoc perlvar:

$ * Se establece en un valor distinto de cero entero para hacer de varias líneas juego dentro de una cadena, 0 (o indefinido) para indicarle a Perl que se puede suponer que las cadenas contienen una sola línea , con el fin de optimizar las coincidencias de patrón . El patrón coincide con cadenas que contienen múltiples nuevas líneas pueden producir resultados confusos cuando $ * es 0 o indefinido. El valor predeterminado es undefined. (Mnemónico: * coincide con varias cosas). Esta variable influye en la interpretación de solo "^" y "$". Una nueva línea literal puede ser buscada incluso cuando "$ * == 0".

El uso de $ * está en desuso en moderna Perl, suplantado por el "/ s" y "/ m" modificadores de coincidencia de patrones.

Asignar un valor no numérico a $ * desencadena una advertencia (y hace $ * acto si "$ * == 0"), mientras que asigna un valor numérico a $ * hace que un implícita " int "se aplica en el valor .

+0

Gracias! (Tenía problemas para encontrar el '$ *' usando Google, ya que ese motor de búsqueda ignora tales palabras clave.) – scraimer

+2

@scraimer: Primero debe consultar la documentación instalada en su computadora: '$ perldoc perltoc' –

+0

Excepto que la documentación instalada en mi computadora es para Perl 5.10, y como '$ *' ha sido descontinuado por esa versión, la documentación ya no la tiene. – scraimer

Cuestiones relacionadas