Perché non c'è nessun errore rilasciato da strict
:
use strict;
$a = $a + 1;
Perché non c'è nessun errore rilasciato da strict
:
use strict;
$a = $a + 1;
$ ae $ b sono globali speciali utilizzati da sort
, quindi sono sempre definito. Provalo invece con $ c e riceverai un errore.
$a
è una variabile globale speciale. Non ha bisogno di essere dichiarato. Vedi perldoc perlvar.
In Perl ci sono alcune variabili globali. Qui $a
e $b
vengono utilizzati nella funzione sort.
penso che potreste aver notato, come in questa affermazione:
sort { $a <=> $b } @array_name ;
Anche se strict
non si lamentano gli speciali $a
e $b
variabili, perlcritic rileverà il loro utilizzo:
Magia le variabili devono essere assegnate come "locale" ... (Gravità: 4)
Nota che questo significa usare $ a e $ b per altri scopi è una pessima idea. (L'utilizzo di una variabile chiamata $ c è anch'essa negativa, ma in misura minore e per altri motivi.) – ysth