Perl–标量
蚂蚁生信 蚂蚁生信
标量:一种是标量数据,表示数据的内容,也就是值;另一种标量变量,表示存储标量数据的容器。所以这个是不同的概念。
数字操作符:
+、-、*、/、%(分别是加、减、乘、除、取余)
1+2 #表示1加2,等于3
9-3 #表示9减3,等于6
2*3 #表示2乘以3,等于6
8/2 #表示8除以2,等于4
10%3 #表示10除以3取余,等于1
乘幂(**)
3**2 #表示3的2次方
字符串
字符串通常是由字母数字及标点符号组成。
如:$id="123"
$id='123'
$id='shengwu'
$id="shengwu"
单引号及双引号单引号
'good' #表示4个字符
'morning' #表示7个字符
注:要在字符串中使用单引号和反斜线,需要用到转义符(\)
如:'let's go' #错误
'let\'s go' #正确,这样在单引号中才将其进行转义,才能表示出来
单引号的字符串中,反斜线后面跟的只有反斜线或单引号时才表示转义
双引号
双引号内字符串反斜线转义
\n #换行
\r #回车
\t #水平制表符
\f #换页符
\b #退格
\a #系统响铃
\e #跳出
\007 #八进制表示的ASCII值
\x7f #十六进制表示的ASCII值
\x{2744} #十六进制表示的Unicode代码点
\N{CHRACTER NAME} #任何一个Unicode代码点
\cC #控制符
\\ #反斜线
\" #双引号
\l #将下个字母转为小写
\L #将其后面所有字符都转为小写,知道\E为止
\u #将下个西门转为大写
\U #将其后面所有字符都转为大写,知道\E为止
\Q #把它到\E之间的非单词字符加上反斜线转义
\E #结束如上的\L,\U,\Q
单引号
'good' #表示4个字符
'morning' #表示7个字符
注:要在字符串中使用单引号和反斜线,需要用到转义符(\)
如:'let's go' #错误
'let\'s go' #正确,这样在单引号中才将其进行转义,才能表示出来
单引号的字符串中,反斜线后面跟的只有反斜线或单引号时才表示转义
双引号
双引号内字符串反斜线转义
\n #换行
\r #回车
\t #水平制表符
\f #换页符
\b #退格
\a #系统响铃
\e #跳出
\007 #八进制表示的ASCII值
\x7f #十六进制表示的ASCII值
\x{2744} #十六进制表示的Unicode代码点
\N{CHRACTER NAME} #任何一个Unicode代码点
\cC #控制符
\\ #反斜线
\" #双引号
\l #将下个字母转为小写
\L #将其后面所有字符都转为小写,知道\E为止
\u #将下个西门转为大写
\U #将其后面所有字符都转为大写,知道\E为止
\Q #把它到\E之间的非单词字符加上反斜线转义
\E #结束如上的\L,\U,\Q
字符串操作符
. #就是用英文下的句号,点(.)可以对字符串进行拼接,记住每一行后面都有分号(;)$test="hello" . "perl";
print $test;
Result:
helloperl
$test="hello" . ' '."nihao".' '."perl";
print $test;
Result:
hello nihao perl
$test="hello" . "perl";
print $test;
Result:
helloperl
$test="hello" . ' '."nihao".' '."perl";
print $test;
Result:
hello nihao perl
x#小写字母x,表示将左边的操作与它自身重复链接
$test="perl"x3;
print $test;
Result:
perlperlperl
字符串自动转换
$test='123'+3;
print $test;
Result:
126
$test='0123'+3;
print $test;
结果同上,字符串中非s赋值的部分会被过滤掉,字符串会先转换成十进制浮点数进行运算
注:自动转换总是基于十进制数字来处理的
警告信息
#!/usr/bin/perl -w
#!/usr/bin/perl
use warnings;
以上两种均可
标量变量
值存储单个标量值,标量变量的名称以美元($)开头,标识符由字母或下划线开头,后可跟字母数字下划线
$perl #首字母小写
$Perl #首字母大写
$perl_123_who #后接下划线,数字,字母
$Perl_Who #下划线前后单词首字母大写
标量赋值,输出
之前就已经提到$
$test='123'+3;#赋值给$test
$test="hello" . ' '."nihao".' '."perl";
见右边赋值给左边的标量
print $test;#表示输出
发表评论