4)上述缩写中,符号对/内容/可以用其他符号替代,效果相同,例如qq(内容),qx!内容!,q+内容+等等,但字母好像不可以
5.here文档规则
1)起始标签没有使用任何引号。对文档内容的效果等同于使用了双引号。
2)起始标签使用了单引号。对文档内容的效果等同于使用了单引号。
3)起始标签使用了反引号。对文档内容的效果等同于使用了反引号。
6.变量初始化
Perl中的变量在第一次出现时被分配内存。如果没有显式初始化,则会被赋值为0或者空字符串,具体怎样表现要视乎该变量出现的上下文。
使用defined函数,defined $var 可以检查变量是否已经被初始化。
使用undef函数,undef $var 可以释放变量的内容。
7.特殊变量
1)$_, 该变量的值经常作为默认参数值,例如这样调用 print; 不给予任何参数,则会打印出$_的值;当使用文件句柄读入数据时,若不指定使用什么变量保存读入数据,也会读入到$_中。
8.Hash
1)Hash表定义语法:
%aHash = (
'key1' => "value1",
"key2" => 'value2',
"key3" => 123,
456 => "890"
) ;
2)Hash表中的键值可以是数字、字符串、数组甚至另一个hash表,不过如果要采用非字符串键值,则最好以单个键/值对赋值的形式插入到hash表中,而不是在初始化时插入。
3)对1)中的hash表,可以使用以下操作使用hash slice:
a) @aValues = qw ( 123 456 789 0 );
@aHash{'newKey1' , 'newKey2' , 'newKey3' , 'newKey4'} = @aValues;
通过这样的方式,可以创建新的hash表,如果名字相同(除了起始的%变为@),则会在原有的hash表中插入,而非创建。
b)对3)中修改后的aHash,可以采用以下方式获取其值集合的子集:
@subSet = @aHash{ 'newKey1' , 'key1' , 456 };
@subSet数组中保存元素的顺序为赋值时指定键的顺序。
其中 @hash表名 这种使用方式,称为hash slice。
9.数组HASH嵌套
%aHash = (
"key1" => "value1",
"key2" => [
"str1",[ 1,2,3,4,5 ],
{
"key2.1" => "value2.1";
"key2.2" => "value2.2";
}
],
"key3" => {
"key3.1" => "value3.1",
"key3.2" => "value3.2",
},









