PERL语言学习二(PERL常量与标量)
常量 ???????? 在程序运行中,其值不能改变且为一定值的量称为常量。PERL的常量有两种:数字常量和字符串常量。、 ? 标量:单件事物。数字,字符串 可以用操作符对标量进行操作,结果通常也是一个标量。 ? 常量用途: 1.? 给变量赋值。 2.? 作参数传递给函数。 数字常量 数据标量: PERL里,总是按“双精度浮点数”来保存和运算。不存在整数。所谓整数,其实也是双精度浮点数。 ? Perl允许在整数直接量里插入下划线,将若干位分开: 21_321_567_654 ? 非十进制的整数直接量: 0:八进制? 0123 # 83 0x:十六进制 0xff 0b:二进制 0b101110 ? 数字操作符:+ - * / % %:取模操作符,先取整后再求余。 **:乘幂,2**3,表2的3次方。 字符串常量 在PERL中,字符串一般用双引号或单引号括起来,包含任何字符。 ? 单引号与双引号的区别: 1.? 单引号内的字符串直接量:不转换 #!/usr/bin/perl 输出:this is an $object 2.? 双引号内的字符串直接量:转换(变量插入)。??????? ?? #!/usr/bin/perl ?? 输出:this is an apple 3.双引号识别转义字符而单引号只识别两个特殊转义字符(/’,//) ?? $string = 'he//she is a student'; ?????? 输出: 识别/:he/she is a student 识别':'nothing here' 不能识别:no/nyes ? 字符串操作: .:拼接 "hello"." world" #等同于"hello world" ? x:重复操作符 "fred"x2 # "fredfred" 5x4? # 5555 ? 数字和字符串的自动转换: ????????? 对数字进行运算的操作符(如乘法)如果遇到数字字符串的操作数,perl会自动将数字字符串转换成等效的十进制浮点数进行运算。 数字字符串:”12345” 例: $num1 = "12345"; ? 非数字符串的转换: $num1 = "123.5abc"; 123.5abc + 1 = 124.5 abc123 + 1 = 1 ? 字符串中非数字部分会被略过。 "12fred34"*"3" # 36 ? 完全不含数字的字符串会被转换成零。 “a123”*”2”? # 0 ? 非数字符串的转换规则: 混合字符串运算中,把混合字符串从左到右取出字符,直到取到第一个非数字字符为止,那么此之前所取的浮点数用来参与运算。 ? 变量 PERL变量基本类型: 1.标量:可以存放数字和字符; 2.数组:多个标量的集合; 3.散列:一程特殊的数组,关联数组。 ???????????????????????????????? 两种衍生变量: 1.引用:特殊的标量,类似于C的指针; 2.句柄:一串标识输入输出的字符串,用来控制输入输出。 ? Perl中的数据类型少,却可以用简单的数据类型,生成相当复杂的数据结构,并且具有很快的数据操作能力。 ? 变量命名: 一般变量名以小字字母,大写字母或下划线开头,后面可以有数字,字母,特殊字符,而且长度没有限制。如:$haha,$string等等。 ? ???????? 当变量以数字开头时,它是一种特殊变量,叫反引用变量,变量名必须全为数字。如:$123;变量名也可以为单个字符,此字符非字母、非数字和非下划线,它也是特殊变量,叫内置变量。 ? 在变量命名时,前面必须加指示符,指示变量类型: 1.$为标量; $haha 2.@为数组; @array 3.%为散列; %hash 4.句柄比较特别,没有指示符。 ? PERL区分大小写。 $haha = 111; 结果: 小写:111 大写:222 ? 变量赋值: 标量: $num = 123; $char = “abcd”; 数组: @array = (“123”,”234”,”345”); $array[1] = 23; 散列: %hash = {“age” => 18,”you” => 34}; $hash{“age”} = 28; ? 变量作用域: 1.全局作用域:PERL默认作用域。 2.局部作用域:只有在函数内才能使用。local(),my()操作符. $char1 = "all"; 结果: all,out,in ##################### all, ? $char1 = "all"; 结量: all,in all,out ? local与my的区别: local:定义的变量除了在块内有效外,在块内调用的子程序也可以访问它,即使此子程序在块外定义。 My:定义的变量对块内的子程序也不可见。比local更安全。 ? ? 内置变量: 为了编程方便和补充语法不足。 内置变量表
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |