Come utilizzare Strict in uno script Perl

November 17

Nella programmazione Perl, la parola chiave "rigorosa" protegge contro costrutti di dati non sicuri. Cambia alcuni dei requisiti del codice e istruisce l'interprete di cercare determinate altre parole chiave. Utilizzando dichiarazioni severe aiuta il programma per capire meglio le vostre intenzioni, come se si intende utilizzare una subroutine per assegnare valori ad una variabile ma dimentica di definire il sub. Nel programma, è possibile specificare rigorosa dichiarazione di variabili, i riferimenti, le subroutine, o tutto quanto sopra. È inoltre possibile attivare la rigorosa dichiarazione ovunque all'interno del programma utilizzando il "use strict" parole chiave e spegnerlo in seguito utilizzando i "no" severe parole chiave.

istruzione

1 Aprire un file di programma Perl. Digitare il seguente codice:

$ MyVar = "un certo valore.";

print $ myvar;

Si noti che la prima variabile utilizza un capitale "V" e il secondo utilizza una piccola "v". Questo codice non genera un errore, ma in realtà non stampa nulla sullo schermo. Poiché le variabili Perl sono case-sensitive, il programma pensa che queste sono due variabili differenti, la seconda delle quali non hanno un valore. Se si modifica questa seconda variabile a "$ myVar", il programma stamperà il suo valore per lo schermo.

2 Eliminare le righe precedenti e digitare il seguente codice:

use strict;

$ MyVar = "un certo valore.";

print $ myVar;

Queste linee generano due errori di runtime, anche se le variabili hanno lo stesso nome; essi sono utilizzati due volte. Digitando "use strict" forze dichiarazione esplicita di tutte le variabili, riferimenti e subroutine.

3 Eliminare le righe precedenti e digitare il seguente codice:

usare severe "vars";

il mio $ myVar = "un certo valore.";

print $ myVar;

La prima riga specifica che il programma richiede solo la dichiarazione di variabili, ma non i riferimenti o subroutine. Il "mio" parola chiave dichiara le variabili locali. Il codice in questo esempio funziona esattamente come si desidera.

4 Eliminare le righe precedenti e digitare il seguente codice:

use strict;

il mio $ myVar = "un certo valore.";

print $ myVar;

non rigoroso "vars";

$ MyVar2 = "Alcuni nuovo valore.";

print $ MyVar2;

La prima linea richiede dichiarazione di variabili, riferimenti e subroutine. La quarta riga si ferma il programma di richiedere rigoroso dichiarazione solo per le variabili. In questo modo la variabile $ MyVar2 da utilizzare senza dichiararlo.

5 Eliminare le righe precedenti e digitare il seguente codice:

usare severe "refs";

$ MyVar = "un certo valore.";

$ Ref = "myVar";

stampare $$ ref;

Si noti che questo esempio specifica solo per utilizzare i riferimenti rigorosi, il che significa che va bene a non dichiarare la variabile qui. Se è stato utilizzato semplicemente "use strict", invece, si dovrebbe utilizzare la "mia" parola chiave di fronte sia $ myVar e $ ref dichiararli. Tuttavia, la terza linea genera ancora un errore perché si è tentato di usare $ ref come riferimento scalare.

6 Eliminare le righe precedenti e digitare il seguente codice:

usare severe "refs";

$ MyVar = "un certo valore.";

$ Ref = \ $ myVar;

stampare $$ ref;

La terza riga in questo esempio utilizza la barra rovesciata per dichiarare il riferimento alla variabile $ myVar, che permette di utilizzare senza generare un errore.

7 Eliminare le righe precedenti e digitare il seguente codice:

$ MyVar = mySub;

print $ myVar;

Se "mySub" è destinata ad essere un po 'di subroutine che si deve ancora definire, Perl assegna "mySub" come valore stringa a $ myVar e stampe che di parole sullo schermo.

8 Eliminare le righe precedenti e digitare il seguente codice:

use strict "sub";

$ MyVar = mySub;

print $ myVar;

La prima linea richiede subroutine da dichiarare. Se si è in codice "mySub" in precedenza nel programma, il valore restituito da esso viene assegnato a $ myVar, altrimenti viene generato un errore di run-time.