2章 perl标量变量

标量变量

单单存储一个值得变量 ,单个标量值

$name 为变量 区分大小写

$barney=$barney*2 第一次 取值 等号右边 ;第二次 赋值 等号左边

双目操作符

$f=$f+5 等价于 $f+=5

字符串连接操作符 $s=$s."";

等价于 $s.="";

print输出结果 有引号或无引号均可 print "$f" 等价于 print $f 后者较好

字符串中的标量变量内插 即用值替换变量 例子:$meal="xxxxx";$barney="fred ate a $meal";

print "$barney";结果为 fred ate a xxxxx

perl当中可以用一对花括号将变量名围起来

借助代码点创建字符 想输入键盘上没有的字符 比如 阿尔法 直接键入这些字符的代码点 再通过chr()函数转换 成对应字符 $alef=chr(0x05d0); 反过来可以通过ord()函数把字符转换为代码点。

操作符的优先级与结合性

左 和右的结合性是不同的

比较操作符 < <= == >= > != lt le eq ge gt ne

if 控制结构

布尔值 如果是数字 0为假 其他都为真

如果是字符串 空字符串 ‘’ 为假 其他字符为真

如果既不是数字也不是字符串 那么先转换为数字或字符串再判断

字符串‘0’ 是唯一被当成假的非空字符串

获取用户输入 <STDIN>

将他放在程序中希望返回标量值的位置上

$line=<STDIN>

if($line eq "\n")

{ print "That was just a blank line!\n";}

else{ print "that line of input was:$line";}

chomp操作符 去除行末换行符

返回值为实际移除的字符数 例子 $f=<STDIN>; $b=chomp $f; 除非去掉括号会改变表达式的意义; 否则括号可以省略。

while控制结构 满足条件即循环

undef值 数字为0 字符串为空

defined函数 判断某个字符串是undef而不是空字符串,可以用此函数,如果是undef则返回假,否则返回真