Dans la programmation Perl , le mot clé "strict" protège contre les constructions de données dangereuses. Il modifie certaines des exigences du code et demande à l'interprète de chercher certaines autres mots-clés. Utiliser les déclarations sévères permet à votre programme afin de mieux comprendre vos intentions, comme si vous pensiez utiliser un sous-programme pour attribuer des valeurs à une variable mais oublier de définir le sous-marin. Dans votre programme, vous pouvez spécifier déclaration strict des variables , les références , les sous-routines , ou tout ce qui précède . Vous pouvez également activer déclaration strict n'importe où dans le programme en utilisant les mots clés « d'utilisation strictes " et éteindre plus tard en utilisant le «non strictes " mots clés. Instructions
1
ouvrir un fichier de programme Perl. Tapez le code suivant :
$ myVar = " certaine valeur. " ;
Print $ myvar ;
Notez que la première variable utilise un grand « V » et la seconde utilise un petit " c " Ce code ne génère pas une erreur, mais il ne fait pas imprimer quoi que ce soit à l'écran . Parce que les variables Perl sont sensibles à la casse , le programme pense que ce sont deux variables différentes , dont la deuxième n'a pas de valeur . Si vous modifiez cette deuxième variable "$ myVar », le programme affichera sa valeur à l'écran
2
Supprimer les lignes précédentes et tapez le code suivant : .
Utilisation de
strict ;
$ myVar = " certaine valeur. " ;
print $ myVar ;
Ces lignes générer deux erreurs d'exécution , même si les variables ont le même nom , ils sont utilisées deux fois. Tapant " use strict " forces déclaration explicite de toutes les variables, les références et les sous-routines
3
Supprimer les lignes précédentes et tapez le code suivant : .
Use strict " vars " ;
mes $ maVar = " certaine valeur. " ;
print $ myVar ;
la première ligne spécifie que le programme ne nécessite déclaration de variables , mais pas de références ou des sous-programmes . Le " mon " mot-clé déclare les variables locales. Le code de cet exemple fonctionne exactement comme vous le souhaitez
4
Supprimer les lignes précédentes et tapez le code suivant :
use strict ;
my $ . myVar = " certaine valeur. " ;
print $ myVar ;
aucun " vars " strictes ;
MyVar2 $ = " Certains nouvelle valeur. " ;
< p> imprimer MyVar2 $;
La première ligne exige la déclaration des variables, des références et des sous-routines . La quatrième ligne arrête le programme d'exiger la déclaration strict des variables seulement. Cela permet à la variable $ MyVar2 à être utilisée sans le déclarer
5
Supprimer les lignes précédentes et tapez le code suivant :
utiliser strict "refs" ;
< p. > $ myVar = " certaine valeur. " ;
$ ref = " myVar " ;
impression
$ ref ;
Notez que cet exemple spécifie uniquement d'utiliser des références strictes , ce qui signifie qu'il n'est pas grave de ne pas déclarer la variable ici . Si vous avez utilisé simplement " use strict " à la place , vous devrez utiliser le " mon " mot-clé devant tant myVar $ et $ ref de les déclarer . Toutefois, la troisième ligne génère toujours une erreur , parce que vous avez essayé d'utiliser $ ref comme une référence scalaire
6
Supprimer les lignes précédentes et tapez le code suivant : .
Use strict " refs " ;
$ myVar = " une valeur " ; .
$ ref = \\ $ myVar ;
impression
$ ref ;
La troisième ligne de cet exemple utilise la barre oblique inverse pour déclarer la référence à la variable myVar $, ce qui vous permet de l'utiliser sans générer une erreur
7
Supprimer les lignes précédentes et tapez le code suivant : . < br >
$ myVar = MySub ;
print $ myVar ;
Si " MySub " est censé être une certaine routine que vous avez encore à définir , Perl assigne " MySub " comme une chaîne valeur de $ myVar et gravures de ce mot à l'écran
8
supprimer les lignes précédentes et tapez le code suivant :
utilisation " subs" strictes ;
. $ myVar = MySub ;
print $ myVar ;
La première ligne nécessite des sous-programmes doivent être déclarées . Si vous avez codé " MySub " précédemment dans le programme, la valeur de retour de celui-ci est affecté à myVar $ , sinon une erreur d'exécution est générée.