Есть ли разница между "предупреждениями использования"; и "использовать предупреждения" все ";"?
У меня есть привычка запускать каждый из моих скриптов с помощью
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
? Некоторые люди используют это, другие предпочитают другие.
Ответы
Ответ 1
В настоящее время
use warnings;
эквивалентно
use warnings 'all';
Тем не менее, было говорить о perl5porters об изменении его, чтобы означать
use warnings 'default';
Новые "менее критические" предупреждения будут добавлены в категорию "все", но не показаны по умолчанию. Поскольку, похоже, это изменение серьезно рассматривается, оно безопаснее use warnings 'all';
явно.
Предыдущие обсуждения на p5p:
RFC: поддержка новых категорий предупреждений вне "всего"
Я добавил поддержку новых категорий предупреждений вне "всего" для обесцвечивания
Ответ 2
Один более явный, чем другой, но, как отмечается в документации, они имеют тот же эффект. Вероятно, лучше использовать список импорта 'all'
, чтобы было более ясно, что все предупреждения действительно включены. Это также полезно для тех, кто может быть новым для Perl. Когда есть сомнения, явное обычно лучше, чем неявное.