Perl Variables spéciales
langage Perl définit une variable particulière, généralement $, @, ou% comme préfixe, par exemple: $ _.
De nombreuses variables spéciales ont un nom très long anglais, système d'exploitation variable $! Peut être écrit comme OS_ERROR $.
Si vous voulez utiliser le nom anglais d'une variable particulière dans le programme nécessaire à la tête d'ajouter l'utilisation Anglais ;.Cette variable spéciale anglaise descriptif.
La variable spéciale $ le plus couramment utilisé _, la variable contient l'entrée par défaut et le motif contenu correspondant. Des exemples sont les suivants:
#!/usr/bin/perl foreach ('Google','w3big','Taobao') { print $_; print "\n"; }
Le programme ci-dessus, le résultat est:
Google w3big Taobao
L'exemple suivant, nous ne pas utiliser _ $ à la sortie:
#!/usr/bin/perl foreach ('Google','w3big','Taobao') { print; print "\n"; }
Le programme ci-dessus, le résultat est:
Google w3big Taobao
Ainsi, la première sortie «Google», la sortie "w3big", la sortie finale "Taobao".
Dans la boucle d'itération, la boucle de courant de chaîne dans $ _ et ensuite à travers la sortie d'impression. Également imprimer sans spécifier la variable de sortie est utilisé par défaut de $ _.
Ce qui suit sont quelques états même sans Perl supposeront $ _ lieu:
- diverses fonctions monoculaire, y compris en tant ord function () et int (), et donc en plus de "-t" tous les tests de fichiers ( "-f", "- d"), "- t" action par défaut STDIN.
- Une liste des différentes fonctions, telles que print () et unlink ().
- Ne pas utiliser le "= ~" mode opérateur lorsque l'opération de correspondance "m //", "s ///" et "tr ///".
- Lorsque d'autres variables ne sont pas donnés en boucle "foreach" itération de variable par défaut.
- itération implicite grep variable () et carte function ().
- Lorsque "tandis que" seule seule condition, et la condition est le résultat de "" test de fonctionnement, $ _ est l'emplacement par défaut pour stocker les enregistrements d'entrée. En plus des "tandis que" les conditions d'essai qui ne se produira pas. (Mnémonique: souligner dans une opération particulière peut être omise.)
Types spéciaux de variables
Selon la nature particulière de l'utilisation de variables peuvent être divisés dans les catégories suivantes:
Spécial variable globale scalaire.
Spécial variable globale tableau.
Hash variables globales spéciales.
poignée de fichier spécial mondial.
constante spéciale mondiale.
Regex variables spéciales.
Poignée de fichier variables spéciales.
variable scalaire globale spéciale
Voici une liste de toutes les variables scalaires spécial contenant des caractères spéciaux et en anglais sous la forme de variables:
$ _ | L'entrée et le modèle par défaut correspondant contenu. |
$ ARG | |
$. | Précédent lecture nombre de descripteurs de fichiers de ligne de courant |
$ NR | |
$ / | fiche séparateur d'entrée, par défaut un caractère de nouvelle ligne. Comme undef cette variable va lire la fin du fichier. |
$ RS | |
$, | séparateur de champ de sortie |
$ OFS | |
$ \ | Le séparateur d'enregistrements en sortie |
$ ORS | |
$ " | La même variable $, similaire, mais appliquée à la chaîne entre guillemets doubles (ou chaîne similaire interpolation) est insérée dans le tableau des occasions et des valeurs de tranche. La valeur par défaut est un blanc. |
$ LIST_SEPARATOR | |
$; | Séparateur utilisé lorsqu'une émulation de tableau multidimensionnel. La valeur par défaut est "\ 034." |
$ SUBSCRIPT_SEPARATOR | |
$ ^ L | Envoyés aux canaux de sortie prendre le caractère d'alimentation du papier. La valeur par défaut est "\ f". |
$ FORMAT_FORMFEED | |
$: | L'ensemble actuel de caractères après lesquels une chaîne peut être rompue pour remplir les champs de continuation (commençant par ^) dans un format. Par défaut est "\ n" ". |
FORMAT_LINE_BREAK_CHARACTERS de $ | |
$ ^ A | Avant d'imprimer le format de données variables pour la sauvegarde |
$ ACCUMULATEUR | |
# $ | Lorsque vous imprimez le format de sortie numérique par défaut numérique (obsolète). |
$ OFMT | |
$? | Retour à l'état d'une commande externe |
$ CHILD_ERROR | |
$! | Valeur numérique de cette variable est la valeur de errno, la valeur de la chaîne est la chaîne d'erreur système correspondant |
$ OS_ERROR ou $ ERRNO | |
$ @ | Le message d'erreur de commande eval si elle est vide, cela signifie que la dernière commande eval terminé avec succès |
$ EVAL_ERROR | |
$$ | script Perl pour exécuter l'ID de processus en cours |
$ PROCESS_ID ou $ PID | |
$ < | Les numéros d'abonnés réels du processus actuel |
$ REAL_USER_ID ou $ UID | |
$> | numéro d'utilisateur efficace du processus en cours |
EFFECTIVE_USER_ID $ ou EUID $ | |
$ ( | Le processus actuel nombre réel de groupes d'utilisateurs |
$ REAL_GROUP_ID ou $ GID | |
$) | numéro de groupe de l'utilisateur effectif du processus actuel |
$ EFFECTIVE_GROUP_ID ou $ EGID | |
$ 0 | Le nom du fichier contient le script en cours d'exécution |
$ PROGRAM_NAME | |
$ [ | Index du premier élément du tableau de tableaux, la valeur par défaut est 0. |
$] | Perl numéro de version |
$ PERL_VERSION | |
$ ^ D | La valeur de l'indicateur de débogage |
$ DEBUGGING | |
$ ^ E | En non-UNIX environnements de système d'exploitation prolongée des informations d'erreur |
$ EXTENDED_OS_ERROR | |
$ ^ F | Valeur maximale d'identificateur de fichier dudit faisceau |
$ SYSTEM_FD_MAX | |
$ ^ H | Activé par le statut syntaxe du compilateur de vérification |
$ ^ I | Intégré valeur de contrôle de l'éditeur |
$ INPLACE_EDIT | |
$ ^ M | Taille pool de mémoire libre |
$ ^ O | le nom du système d'exploitation |
$ OSNAME | |
$ ^ P | Indique le débogueur valeur de la variable interne en cours |
$ PERLDB | |
$ ^ T | Depuis le début du nouveau siècle, le rythme des secondes commencent à manquer de temps |
$ BASETIME | |
$ ^ W | La valeur actuelle de l'interrupteur d'avertissement |
$ AVERTISSEMENT | |
$ ^ X | Perl binaire exécutable nom de code |
$ EXECUTABLE_NAME | |
$ ARGV | Nom du fichier actuel lu à partir du descripteur de fichier par défaut lorsque |
variable tableau global spécial
@ARGV | Pour la ligne liste d'arguments de commande de script |
@INC | Lorsque vous importez la liste des répertoires du module à rechercher |
@F | Entrez le réseau de ligne de commande |
Hash variables globales spéciales
% INC | Hash% INC contient tous les fichiers avec un do ou exiger des déclarations contenues mots-clés est le nom du fichier, la valeur est le chemin du fichier |
% ENV | Contenant la variable d'environnement actuel |
% SIG | Liste des signaux et la façon de traiter |
poignée de fichier spécial mondial
ARGV | descripteur de fichier spécial à travers le tableau @ARGV variables tous les noms de fichiers |
STDERR | Erreur type de poignée de sortie |
STDIN | Poignée d'entrée standard |
STDOUT | Poignée de sortie standard |
DATA | Spécial référence descripteur de fichier contenu __END__ de drapeau dans le fichier contenant le contenu du script après. Ou une référence à tout le fichier de contenu contient le drapeau __DATA__ après, aussi longtemps que vous avez lu dans les mêmes données par paquets, __ DATA__ là. |
_ (Soulignement) | Les fichiers spéciaux de poignée de fichiers de cache pour des informations (fstat, stat et lstat). |
constante spéciale mondiale
__END__ | La fin logique du script, le texte après ignoré. |
__FILE__ | nom de fichier actuel |
__LINE__ | Le numéro de la ligne courante |
__PACKAGE__ | Le nom du package en cours, le nom de package par défaut est le principal. |
variables spéciales Regex
$ N | Contenant le dernier motif correspondant à n ième chaîne |
$ & | réussie précédente chaîne modèle correspondant |
$ MATCH | |
`$ | Dernière chaîne correspondant à la réussite du contenu précédent |
$ PREMATCH | |
$ ' | Contenu dernier match réussie après substring |
$ POSTMATCH | |
$ + | Et le dernier format correspondant dernière parenthèse de recherche d'expression régulière. Par exemple: /Version: (.*)|Revision: (.*)/ && ($rev = $+); |
$ LAST_PAREN_MATCH |
Fichier gérer des variables spéciales
$ | | Si elle est définie à zéro après chaque écriture fonction d'appel ou d'impression, les appels automatiquement la fonction fflush, contenu écrit va écrire le fichier |
$ OUTPUT_AUTOFLUSH | |
$% | Le numéro de la page de sortie |
$ FORMAT_PAGE_NUMBER | |
$ = | Le courant longueur de page. La valeur par défaut est 60. |
$ FORMAT_LINES_PER_PAGE | |
$ - | Le numéro de page en cours de lignes restantes |
$ FORMAT_LINES_LEFT | |
$ ~ | Le nom actuel du format de sortie du rapport. La valeur par défaut est le nom du descripteur de fichier. |
$ FORMAT_NAME | |
$ ^ | Le format nom de la table d'en-tête de sortie du rapport en cours. La valeur par défaut est avec le suffixe "_TOP" nom de descripteur de fichier. |
$ FORMAT_TOP_NAME |