Лексическая переменная видима в среде ссылок программного модуля, но не все переменные, которые видны в среде ссылок программного модуля, обязательно являются лексическими переменными.
По сути, лексическая переменная - это переменная, специфичная для области ее определения. В языке, подобном Perl, у вас по существу есть два пространства имен, маскируемых друг над другом: базовое пространство имен динамического пакета и перекрывающееся лексическое пространство имен. Таким образом, $ foo может относиться к любому из них, в зависимости только от того, объявлено ли оно лексически.