使用效果编码qw /编码解码from_to / ;?

时间:2016-03-03 03:29:30

标签: perl

perl脚本的顶部有什么影响?

use Encode qw/encode decode from_to/;

我在接管的代码中找到了这个,但我不知道它的作用。

1 个答案:

答案 0 :(得分:1)

短篇小说:,对于经验丰富的Perl编码谁知道哪些模块: 编码模块用于将perl字符串转换为"其他一些"格式(有许多子模块定义差异格式)。通常,它用于转换为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");

长篇故事:对于那些不知道模块是什么/做什么的人: 这是使用其他地方代码的经典方式。 "其他地方"通常意味着两种可能性之一 - 或者;

  1. 编写的代码"内部" - 即:您的私人应用程序的一部分,过去的开发人员已经决定分解(大概)因为它适用于多个地点/应用程序;或
  2. 在组织外部编写并公开提供的代码,通常来自the Comprehensive Perl Archive Network - CPAN
  3. 现在,您可能 - 但不太可能 - 组织内的某个人创建了内部代码,并且偶然使用相同的名称为CPAN上的模块,因此,如果您通过搜索"编码" - 你可以看到有一个名称的模块 - 这几乎肯定是你正在使用的。你可以阅读它here

    qw/.../代表"引用单词" ,是创建字符串列表的简单简写;在这种情况下,它转换为("编码","解码"," from_to")反过来又是哪些部分的规范您(或原作者)想要的Encode模块。

    您可以在前面提到的文档(或" POD")页面上的"基本方法" 标题下阅读这些部分。不要被引用"方法" - 许多模块(看起来这个模块)的编写方式使它们既支持面向对象又支持功能接口。因此,您可能会看到直接调用前面提到的三个函数,就好像它们直接写在程序本身中一样。