Perl中有三种内置的变量类型:
- Scalar(标量)
- Array(数组)
- Hash (散列)
标量:
$号是Perl变量指定符,指定变量类型为标量。标量代表一个单一的值,一个标量的值可以是字符串,整数或浮点数,Perl会自动转换成需要的类型。
数字的格式:
类型 | 语法 | 示例 |
整型 | NN | 89 |
浮点型 | NN.NN | 12.34 |
科学计数 | NN.NNeNN | 23.04e-5 |
大数 | NN_NNN_NNN | 19_000_000 |
八进制 | 0NNN | 0761 |
十六进制 | 0xNNNN | 0xF9DA |
字符串分为单引号字符串、双引号字符串、反引号字符串。
单引号字符串没有变量替换功能,反斜线不支持转义字符。双引号字符串有变量替换,和反斜线转义字符。
双引号反斜线转义字符表:
转义字符 | 意义描述 |
\a | 响铃 |
\b | 退格 |
\cn | Ctrl+n 做控制字符 |
\e | ESC(ASCII编码的转义字符) |
\f | 跳页 |
\n | 换行 |
\t | 制表符 |
\r | 回车 |
\l | 将下个字符转为小写 |
\L | 将到 \E 为止的所有字符转为小写 |
\u | 将下个字符转为大写 |
\U | 将到 \E 为止的所有字符转为大写 |
\Q | 将到 \E 位置的非单词字符加上反斜线 |
\E | 结束\L 、\U、 \Q |
\007 | 任何八进制的ASCII(此处表示系统响铃) |
反引号字符是把引号直接的字符串解释为操作系统命令。如果要在一个程序中执行另一个程序,则可以使用反引号。
标量变量使用示例:
#!/usr/bin/perl $animal = "camel"; $answer = 42; print $animal; print "The animal is $animal\n"; print "The square of $answer is", $answer * $answer ,"\n";
@号是Perl变量指定符,指定变量类型为数组。数组表示值的列表,数组是从零开始索引。数组使用示例:
#!/usr/bin/perl @animaals = ("camel", "llama", "owl"); @animaals_1 = qw(camel llama owl); @numbers = (1,2,3); @numbers_1 = (1..3); @mixed = ("camel",42,1.23); print "@animaals\[email protected]_1\[email protected]\[email protected]_1\[email protected]\n"; print "$animaals[0] $animaals[1] $animaals[2]\n"; print "@animaals[0,1]","\n"; print "@animaals[0..1]\n"; print "@animaals[0..$numbers[0]]\n";
%号是Perl变量指定符,指定变量类型为散列。散列也叫哈希变量,哈希变量代表一组键/值对。散列的几种表示方式:
直接以数组的形式一次给出散列中的键和值 %map = ('red',0xff0000,'green',0x00ff00,'blue',0x0000ff); 以大括号的形式分别给出键和值 %map = (); ##清空这个哈希变量 $map{red} = 0xff0000; $map{green} = 0x00ff00; $map{blue} = 0x0000ff; 用”=>“ 符号依次给出键和值对 %map = (); %map = ( red => 0xff0000, green => 0x00ff00, blue => 0x0000ff );
时间: 2025-01-04 16:29:11