perl: Use of uninitialized value
Um problema simples mais que incomoda, vamos resolver essa questão.
O problema
Veja esse programa simples
#!/usr/bin/perl use strict; use warnings; my $i; if($i eq "oi"){ print("Foi"); }
Quando ele é executado uma mensagem é exibida
Use of uninitialized value $y in string eq at war line 7.
Não é um erro, apenas um aviso de que a variável não foi inicializada com valor.
Isso acontece quando você coloca o use warnings.
Existem algumas formas de se corrigir isso.
1 – Inicialize a vareável, ex:
my $i="";
2 – Retire o use warnings do seu script
#!/usr/bin/perl use strict; my $i; if($i eq "oi"){ print("Foi"); }
3 – Adicione no warnings “uninitialized” ao seu script.
#!/usr/bin/perl use strict; use warnings; no warnings "uninitialized"; my $i; if($i eq "oi"){ print("Foi"); }
Simples não é mesmo.
Abraços.