Bem vindo futuro Perito em Perl!

Olá, seja bem vindo.

Nome "main::x" usado apenas uma vez: possível erro em ...

Se você ver este alerta em um script Perl você está com sérios problemas.


Nome "main::x" usado apenas uma vez: possível erro em ...


Símbolo Global requer nome explícito de pacote

Global symbol requires explicit package name é uma mensagem de erro comum do Perl, e na minha humilde opinião, bastante enganosa. Ao menos para iniciantes.

A tradução rápida para isto seria "Você precisa declarar a variável usando my."


Símbolo Global requer nome explícito de pacote


Escopo das Variáveis em Perl

Existem dois principais tipos de variáveis em Perl. A primeira delas é a variável global do pacote, declarada tanto com o já obsoleto use vars ou com o comando our.

O outro tipo é a variável léxica declarada com my.

Vamos ver o que acontece quando você declara uma variável utilizando my? Em quais partes do código essa variável será visível? Em outras palavras, qual é o escopo da variável?


Escopo das Variáveis em Perl