加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl 变量

发布时间:2020-12-15 23:44:14 所属栏目:大数据 来源:网络整理
导读:Perl中有三种内置的变量类型: Scalar(标量) Array(数组) Hash (散列) 标量: $号是Perl变量指定符,指定变量类型为标量。标量代表一个单一的值,一个标量的值可以是字符串,整数或浮点数,Perl会自动转换成需要的类型。 数字的格式: 类型 ? ? ? ? ?

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
07 任何八进制的ASCII(此处表示系统响铃) ??
反引号字符是把引号直接的字符串解释为操作系统命令。如果要在一个程序中执行另一个程序,则可以使用反引号。
标量变量使用示例:
#!/usr/bin/perl

$animal = "camel";
$answer = 42;

print $animal;
print "The animal is $animaln";
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 "@animaalsn@animaals_1n@numbersn@numbers_1n@mixedn";

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
); 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读