Как мне заставить Eclipse / EPIC прекратить предупреждение о «Использовании неинициализированного значения $ ENV {что угодно}» в моем скрипте perl? - PullRequest
2 голосов
/ 03 июня 2011

Это появляется в текстовом редакторе Eclipse, когда EPIC впервые сталкивается с использованием специальной переменной% ENV в скрипте Perl. Я ничего не запускаю в этой среде, я просто хочу, чтобы предупреждение исчезло.

Я возился в разделе «Запустить конфигурации», но это, похоже, не помогло.

ОБНОВЛЕНИЕ 1: Все эти ответы касаются изменения кода, который не должен быть необходим. Да, я могу получить ту же ошибку в командной строке, если я удалю переменную среды. Но я хочу определить переменную среды в Eclipse, чтобы она соответствовала обычной среде командной строки, чтобы предупреждение не появлялось. Я попытался определить его в Eclipse «Запустить конфигурацию», но, похоже, он не вступил в силу.

Я также попытался установить переменную в ~ / .bashrc и связанных местах и ​​создать сценарий запуска для Eclipse, который устанавливает переменную. Ничто из этого не исправило предупреждение.

Я могу заставить предупреждение исчезнуть, щелкнув правой кнопкой мыши и выбрав «Источник», а затем «Очистить все метки EPIC», но предупреждение появится снова при следующем изменении файла.

ОБНОВЛЕНИЕ 2: Если я определяю переменные среды в конфигурации запуска, , а затем запускаю сценарий , он проходит эти строки в порядке. Тем не менее, во время редактирования все еще есть волнистое красное подчеркивание и предупреждение, отображаемое на панели текстового редактора - это то предупреждение, от которого я хочу избавиться.

Ответы [ 4 ]

4 голосов
/ 03 июня 2011

Это происходит и в любом другом контексте, когда предупреждения включены, и вы пытаетесь использовать неопределенное значение.

$ perl -we 'print $ENV{NOT_DEFINED}'
Use of uninitialized value in print at -e line 1.

Некоторые решения

(1) для определения переменнойперед его использованием

$ perl -we '$ENV{NOT_DEFINED} //= ""; print $ENV{NOT_DEFINED}'

(2) используйте операторы || или // для замены значения "по умолчанию" для вашей переменной

$ perl -we 'print $ENV{NOT_DEFINED} // ""'

(3) отключите определенныйПредупреждения

$ perl -we 'no warnings "uninitialized"; print $ENV{NOT_DEFINED}'

(4) отключить все предупреждения

$ perl -we 'no warnings; print $ENV{NOT_DEFINED}'

(не делайте # 4).

Поскольку это Perl, есть еще несколько способовчтобы сделать это.

В Perl <= v5.8 вы должны использовать <code>|| и ||= вместо // и //=, что немного отличается от других.

0 голосов
/ 06 июня 2011

На самом деле я считаю, что в настоящее время это невозможно, см. запрос функции и сообщение на форуме

0 голосов
/ 03 июня 2011

Определите переменную среды перед запуском или исправьте код, чтобы он не выдавал предупреждение. Вы можете получить более полезные советы, если включите все предупреждение, чтобы читатель знал, откуда оно.

0 голосов
/ 03 июня 2011

Не уверен, поможет ли это, но попробуйте добавить:

our %ENV

... до первого использования% ENV.

[Редактировать: я предполагаю, что соответствующая переменная среды на самом деле определена , и эта ошибка исходит от IDE. Если подумать, возможно, это плохое предположение.]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...