2015-05-05 2 views
-2

Я использую окно платформу и падре редактор для запуска программы PERLКак использовать версию в perl?

use 5.11.0; 
$data = 1232; 
print $data; 

Итоговой ошибки является

Global symbol "$data" requires explicit package name at file.pl line 2. 
Global symbol "$data" requires explicit package name at file.pl line 3. 
+0

Я считаю, 'использовать 5.10' и выше позволит предупреждения и строгий режим по умолчанию. Таким образом, ошибка, которая может быть исправлена ​​с помощью ключевого слова 'my'. – squiguy

+5

5.10 нет, но 5.11 и выше подразумевают 'use strict', когда вы используете _version_'. –

+0

@JimDavis Спасибо за исправление. Я знал, что это одна из новых версий. :) – squiguy

ответ

3

Там нет ничего плохого в вашей версии заявлении.

Проблема заключается в том, что вы не указали переменную $data ... и (как упоминалось в комментарии squiguy) версии Perl, начиная с 5.11.0 и выше automatically use strict when you use __version__. use strict означает, что вам необходимо объявить все переменные перед их использованием.

Это работает:

use 5.11.0; 
my $data = 1232; 
print $data; 

Это более четко, может быть, более "понятно":

use 5.11.0; 
my $data;  # declare the local variable we are about to use 
$data = 1232; # set initial value 
print $data; # see if it got the value 
Смежные вопросы