perl语言标量SCALAR

perl标量变量

一、perl中的标量


1、整数的表示:

12
12e2  #1200
-12   #-12
1_200_000     #perl可以使用下划线当做分隔符 数字还是1200000,但方便看
012           #八进制数,值为10
0x1f           #十六进制,值为31   f不分大小写

 

2、浮点数也就是小数

11.4
0.3
.3
3.
5.4e2    # 540 e或E,+或-,e后面最多一到三位数字 -4.5E-2 #-450


 

3、注意

整数:最多15位 ,16位后截断

浮点数的精度:指数范围:-309~308 太小的话显示成0,太大显示为1.#INF

 

4.数字操作

加减乘除  + -  *  /


attachments-2018-12-HiOEEafZ5c1c778536ae6.jpg

二、字符串

perl中的字符串必须必须用引号引起来,可以是单引号,也可以是双引号;

以下引起来的都是字符串:

"omicsclass"
"daf2325"
"244626" 'omicsgene'


字符串中特殊字符:  '  "  \  详情见:单引号与双引号是有区别的


字符串的连接用  .

attachments-2018-12-2HUgjB6W5c1c7a299011d.jpg



三、标量变量


标量变量用:$          以$开头+字母或下划线

         区分大小写,变量长度不限,没有关键字,但不能和默认变量重复


变量命名使用大写字母或者小写字母或数字或下划线组成:[a-zA-Z_0-9],避免使用其他特殊字符在变量名当中;命名变量应有意义,也就是从变量名中可以知道变量存储的是什么,方便后期代码维护,另外,变量名是严格区分大小写的;


attachments-2018-12-xIFKCDKL5c1c7a643ec21.jpg


1.变量赋值与内插,变量赋值用=;

$var ="str";   #赋值
print "this is $var"  #内插 ; -> '' this is str"

perl遵循最长匹配,当$var 和 $varing 都存在时,print "varing" ,匹配$varing  不匹配$var

想匹配$var需要这样:${var}ing          sh中$(ls)

 

2.转义字符

 \t 表示tab空白

\n 表示换行符

 

3. \ 的作用

作用:转义字符

取消字符含义:

  取消$的变量标识       print "the \$var is $var \n";

  取消双引号"             print "A quote \" in a string \n";

  取消反斜杠\            print "A quote \\ in a string \n";

\nnn (n表示数字)   八进制表示的 ACSII码  print "\045";

\xnn (n表示数字)   十六进制表示的 ACSII码  print "\x45";

 

4.单引号

不进行变量替换  

不进行转义

字符串可以换行  'sadas

            esdadad '

\的作用:

  有单引号时取消其含义

  有\时  取消含义

 

5、字符串的特殊表示

qq(string in qq)     #两个q表示双引号 ,也就是这个  - ->"string in q"
q(string in q)                 #一个q表示单引号 ,也就是这个  - ->‘string in q’

 好处就是如果字符串里面有单引号、双引号的话,不用加反斜线注释掉

()可换为<>,{},[]等配对字符 可出现这样的情况:[string [in] q]    [string <in> q]      也是可以的

也可以这样:  qq/string in q/        qq;string in q;

 

6、变量初值

未创建状态为undef,到达文件尾也是undef

用法:

  说明变量为未定义:undef $a;

  用在条件判断中:if(undef $a)

   代替不关心的变量:$a="a:b:c:d"; ($a1,undef,undef,$d1)=split(/:/,$s);    #这样稍微会省些内存

  如果有undef变量又不知在哪,可加-w参数进行提示:  #!/usr/bin/perl -w

要是创建了,则创建后状态为defined  一般用在条件判断中  if(defined $a)

整数初值为0,字符串初值为空串""。

 

7、相关函数

length()串长度,数字位数

三角函数sin,数学函数sqrt,随机产生函数rand,srand

uc lc ucfrist lcfrist    大小写

substr index pos   字符串索引、位置

转换函数 ord,chr,pack,unpack

 

$lastchar=chop(str)   截去最后一个字符,无论什么字符

$result=chomp(str)  截去末尾的行分割符(\n),行分割符可由$/定义。比如 $/="ab" 把末尾是ab的切掉

 

 


  • 发表于 2018-12-20 21:34
  • 阅读 ( 3423 )
  • 分类:perl

0 条评论

请先 登录 后评论
omicsgene
omicsgene

生物信息

698 篇文章

作家榜 »

  1. omicsgene 698 文章
  2. 安生水 347 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. 红橙子 78 文章
  7. rzx 74 文章
  8. CORNERSTONE 72 文章