Latest web development tutorials

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