Каков эффект этого в начале сценария perl
?Эффект использования Кодировка qw/encode decode from_to/;?
use Encode qw/encode decode from_to/;
Я нашел это по коду, который я взял, но я не знаю, что он делает.
Каков эффект этого в начале сценария perl
?Эффект использования Кодировка qw/encode decode from_to/;?
use Encode qw/encode decode from_to/;
Я нашел это по коду, который я взял, но я не знаю, что он делает.
Краткая история: для опытного Perl кодированной кто знает, что модули: Encode модуль для преобразования перл строк в «другой» формат (для которого существует множество суб-модулей, которые определяют разностные форматы). Как правило, он используется для преобразования и из форматов Unicode например:
... to convert a string from Perl's internal format into ISO-8859-1, also known as Latin1:
$octets = encode("iso-8859-1", $string);
decode
для идти в другую сторону, и from_to
преобразует строку из одного формата в другой на месте;
from_to($octets, "iso-8859-1", "cp1250");
Длинная история: для кого-то, кто не знает, какой модуль/делает: Это классический способ один использует код из других источников. «В другом месте» обычно означает одну из двух возможностей;
Теперь, возможно, - но вряд ли - что кто-то в вашей организации была создана в доме-код и со-кстати использовал такое же имя для модуля CPAN, поэтому, если вы проверите CPAN, выполнив поиск «Кодировать» - вы можете видеть, что есть модуль этого имени - и это почти наверняка будет тем, что вы используете. Вы можете прочитать об этом here.
qw/.../
означает "котировочные слова" и представляет собой простую короткую руку для создания списка строк; в этом случае он переводится в («encode», «decode», «from_to»), который, в свою очередь, является спецификацией того, какие части модуля Encode
вам (или оригинальному автору) нужны.
Вы можете прочитать о тех частях под заголовком «Основные методы» на странице документации (или «POD»), о которой я говорил ранее. Не откладывайте ссылку на «методы» - многие модули (и, похоже, это одно) написаны таким образом, что они поддерживают как объектно-ориентированный, так и функциональный интерфейс. В результате вы, вероятно, увидите прямые обращения к трем функциям, упомянутым ранее, как если бы они были написаны непосредственно в самой программе.
Спасибо, эта информация полезна. Я не знал, что такое 'qw'. – CJ7
Кодировки символов, по-видимому: [Кодировка] (http://perldoc.perl.org/Encode.html). Основной модуль тоже. – zdim