
In Perl kann man Variablen ganz einfach einen Wert zuweisen. Nutzt man allerdings “strict”, ist dies etwas umständlicher: Dafür wird die Nutzung logischer, denn Perl trennt so zwischen einer direkten Variablen-Zuweisung und einer Funktion.
Ohne “use strict” könnte man den Text “test” ganz einfach so einer Variablen zuweisen:
my $var = test;
Startet man das Skript allerdings mit “use strict”, geht das nicht: Ein String muss dann in Anführungszeichen gesetzt werden, um einer Variable zugewiesen zu werden:
use strict;
my $var = "test";
Das ist wichtig, da man sonst auch die Rückgabe der Funktion test der Variablen $var zuweisen könnte, wenn diese vor der Zuweisung definiert wurde. Durch “use strict” und dem Zuweisen des String-Wertes über die Anführungszeichen wird das deutlicher und kann sonst schwer erklärbare Fehler vermeiden. Allerdings führt der Code OHNE Anführungszeichen zu einer Fehlermeldung:
use strict;
my $var = test;
Perl würde hier diesen Fehler ausgeben:
Bareword test not allowed while “strict subs” in use at line 2
Der Fehler kann aber auch vorkommen, wenn ganz einfach nur das $ Zeichen vor dem Variablennamen vergisst: Auch dann denkt der Perl Interpreter, dass man einer Variable einen Text zuweisen möchte:
my $var2 = 'test';
my $var1 = $var2;
Vergisst man in der zweiten Zeile das $-Zeichen, würde der Code so aussehen:
my $var2 = 'test';
my $var1 = var2;
Auch dieser kleine Fehler sorgt dafür, dass die Meldung ‘Bareword var2 not allowed while “strict subs” in use at line 2‘ gezeigt wird: Durch die Fehlermeldung findet man aber auch die Zeile, in der der Fehler auftritt: So kann man den Fehler eingrenzen und korrigieren.