Question

J'ai un code de http://www.hyllander.org/node/23 qui utilise $* ( "astérisque dollar" ou "star dollar"), mais ma version des rapports perl:

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

Savez-vous quels sont les effets secondaires de faire

$*=1

Ne qui affectent en quelque sorte des fonctions comme split ou tokenizers ou des expressions régulières?

Était-ce utile?

La solution

Voici une partie de la sortie de perldoc perlvar:

  

$ * Définir une valeur entière non nulle à faire plusieurs lignes   correspondant à l'intérieur d'une chaîne de caractères, 0 (ou   non définie) pour dire Perl qu'il peut   supposent que les chaînes contiennent une seule   ligne, dans le but d'optimiser   correspond au modèle. Motif sur des   chaînes contenant plusieurs newlines   peut produire des résultats quand $ *   est 0 ou non défini. Par défaut   indéfini. (Mnémonique: * matchs   plusieurs choses.) Cette variable   influe sur l'interprétation de seulement   "^" Et "$". Un retour ligne peut être   recherché même si "$ * == 0".

     

L'utilisation de $ * est dépréciée dans moderne   Perl, supplanté par les "/ s" et "/ m"   des modificateurs sur correspondance de motif.

     

Affectation d'une valeur non numérique à $ *   déclenche un avertissement (et fait agir $ *   si "$ * == 0"), tout en attribuant une   valeur numérique à $ * fait qu'un   « Int » implicite est appliquée sur la   valeur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top