Если вы спрашиваете, вы не против. Да, это добавляет некоторые накладные расходы. Код:
use Data::Dumper;
является почти точным эквивалентом:
BEGIN {
require Data::Dumper;
Data::Dumper->import();
}
Это означает, что во время компиляции модуль Data :: Dumper анализируется и выполняется тело, если это еще не сделано. Это означает, что если у вас много модулей и вы используете Data :: Dumper в каждом, это может произойти только один раз. Проверка уже выполненного запроса выполняется очень быстро, действительно очень быстро. Вторая строка вызывает импорт и устанавливает импорт в пространство имен текущего пакета (полученное вызывающей стороной). Это занимает некоторое время во всех модулях, где они используются. Если вы хотите избежать этого, используйте:
use Data::Dumper ();
Чем вы не можете позвонить Dumper()
, но вы должны использовать Data::Dumper::Dumper()
. Я предпочитаю использовать Data::Dumper->Dump([vars], [names])
, который приносит мне результат, который мне нравится больше.