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.
|