Utiliser le module strict qui oblige la déclaration des variables, tableaux et hashages et prévenir ainsi les fautes de frappes dans les variables :
#!/usr/bin/perl $names = <STDIN>; chomp($names); print "Hello $name\n";
Cet exemple fonctionnera pourtant il n'aura pas le résultat voulu à cause de l'erreur de frappe dans print :
#!/usr/bin/perl use strict; my $names = <STDIN>; chomp($names); print "Hello $name\n";
Ce second exemple retournera une erreur :
[~] $ ./qq Global symbol "$name" requires explicit package name at ./qq line 6. Execution of ./qq aborted due to compilation errors. [~] $
Et indiquera tout de suite d'ou vient le probleme.
On trouvera plus d'information dans le man suivant :
Et dans la documentation de Perl :