Как избежать ошибок с параметрами командной строки perl и использовать strict

Почему мой код не работает после того, как я добавил use strict; использовать предупреждения;? Есть ли способ заставить это работать?

Ранее рабочий код был следующим:

#!/usr/bin/perl -s
print "x: $x\n";
print "y: $y\n";

Я выполнил команду perl -s test.pl -x="hello" -y="world". Вывод:

x: hello
y: world

Однако после того, как я добавил use strict; используйте предупреждения;, я получил следующие ошибки:

Variable "$x" is not imported at test.pl line 4.
Variable "$y" is not imported at test.pl line 5.
Global symbol "$x" requires explicit package name at test.pl line 4.
Global symbol "$y" requires explicit package name at test.pl line 5.
Execution of test.pl aborted due to compilation errors.

Я знаю, что мне нужно объявить мой $x и мой $y, чтобы исправить 3-ю и 4-ю ошибки. Но что означают первые 2 ошибки и как их преодолеть?

7
задан tshepang 20 February 2014 в 12:58
поделиться