Подтвердить что ты не робот

Есть ли разница между "предупреждениями использования"; и "использовать предупреждения" все ";"?

У меня есть привычка запускать каждый из моих скриптов с помощью

use strict;
use warnings;

Но некоторые из репатриантов здесь рекомендуют

use warnings 'all';

Если я понял их правильно, последнее даже лучше первого. Поэтому я прочитал документы и нашел

Все предупреждения включены в блоке одним из следующих:

use warnings;
use warnings 'all';

Даже книга Camel Book не говорит ничего другого:

use warnings;   # same as importing "all"

So

  • есть ли разница, или
  • это просто более надежное будущее (в случае, если будущие версии предупреждений о проблемах в Perl, о которых мы не знаем сейчас, и use warnings; не поймаем), или
  • это просто еще одна привычка, например, ps -ef против ps aux? Некоторые люди используют это, другие предпочитают другие.
4b9b3361

Ответ 1

В настоящее время

use warnings;

эквивалентно

use warnings 'all';

Тем не менее, было говорить о perl5porters об изменении его, чтобы означать

use warnings 'default';

Новые "менее критические" предупреждения будут добавлены в категорию "все", но не показаны по умолчанию. Поскольку, похоже, это изменение серьезно рассматривается, оно безопаснее use warnings 'all'; явно.

Предыдущие обсуждения на p5p:

RFC: поддержка новых категорий предупреждений вне "всего"

Я добавил поддержку новых категорий предупреждений вне "всего" для обесцвечивания

Ответ 2

Один более явный, чем другой, но, как отмечается в документации, они имеют тот же эффект. Вероятно, лучше использовать список импорта 'all', чтобы было более ясно, что все предупреждения действительно включены. Это также полезно для тех, кто может быть новым для Perl. Когда есть сомнения, явное обычно лучше, чем неявное.