关闭

Perl学习之二:标量数据

462人阅读 评论(0) 收藏 举报

一、什么是标量

  • 标量是perl里面最简单的一种数据类型
  • 标量分为数值类型和字符串类型

二、变量命名规则

  • 标量变量以$开头
  • 标识符由字母、数字或下划线组成
  • $后紧跟字母或下划线,不能跟数字
  • 区分大小写
  • 长度不限
  • 不能和内置变量名称重复

三、数值类型标量

 

    数值类型标量又分为整数和浮点数两种

    1、整数表示形式

  • 正整数:30
  • 负整数:-28
  • 可用下划线分隔数字:20_000_320 
  • 二进制:以0b开头,0b1111_1111 #相当于十进制的255 
  • 八进制:以0开头,0377              #相当于十进制的255
  • 十六进制:以0x开头,0xFF          #相当于十进制的255,十六进制中的字母不区分大小写
  • 指数表示:20e2                       #20乘以10的2次方,e不区分大小写

    2、浮点数表示形式

  • 12.5、25.000、25.0
  • 省略小数点前后的0:.2、2.   #相当于0.2、2.0
  • 指数表示:-0.3E-20           #0.3乘以E的负20次方,E不区分大小写

    3、数值范围

  • 整数表示范围:15位有效数字,15位后截断
  • 浮点数表示范围:指数范围-309—308

    4、数字操作符

  • perl提供加(+)、减(-)、乘(*)、除(/)等操作符

    5、浮点数运算特别注意

  • 大数和小数相加减运算结果可能不变 

        例:

        &va1 = 9.01e21+0.01- 9.01e21

        &va2 = 9.01e21- 9.01e21+0.01

 

        运算结果:

        &va1 = 0     &va2 = 0.01

 

四、字符类型标量

  • 字符串分为单引号内的字符串和双引号内的字符串两种
  • 最短的字符串:不含任何字符的空字符串
  • 最长的字符串:没有限制,甚至可以填满整个内存

    1、双引号字符串

  • "hello world"               #打印输出:hello world
  • 空字符:""
  • 转义字符:"hello/n"       #打印输出:hello,后面紧跟换行符
  • 表示双引号:"/"hello/""  #打印输出:"hello",在双引号字符串内表示双引号用/" 
  • 错误:"hello/"              #打印输出:出错,缺少结尾双引号。/"表示单引号字符串内的双引号,并非是字符串结尾的双引号

     2、单引号字符串

  • 'hello world'                #打印输出:hello world
  • 空字符:''                
  • 转义字符无效:'hello/n'  #打印输出:hello/n,转义字符在单引号内不起作用
  • 结果同上'hello//n'      #打印输出:hello/n
  • 表示单引号:'/'hello/''    #打印输出:'hello',单引号字符串中表示单引号本身,需在单引号前加反斜杠/'
  • 错误:'hello/'              #打印输出:出错,缺少结尾单引号。/'表示单引号字符串内的单引号,并非是字符串结尾的单引号   

   3、转义字符

     略……

    4、字符串操作符

  • 连接运算符—小数点'.'

        "hello" . "world"          #相当于"helloworld"

       "hello" . ' ' . "world"    #相当于'hell oworld'

       'hello world' . "/n"       #相当于"hell oworld/n"

  • 重复运算符—小写字母x

       "hello" x 3         #相当于"hellohellohello"

       "hello" x (3-1)    #相当于"hello"x2

       "hello" x 3.8      #相当于"hello"x3,小数先取整,再运算,向下取整

       "hello" x 0.3      #相当于"hello"x0,输出空字符

       3 x 4                #3先转化成字符"3"再进行运算,相当于"3"x4,输出3333

五、数字与字符串间的转换

  • 自动转换为哪种类型取决于操作符

        "3" * "4"或'3' * '4'      #结果都是12

       "3hello" * 4,  "hello3" * 4, "hello" * 4   #结果分别为12、0、0

       "a".3 * 4         #相当于"a".12,运算结果为"a12"

六、pint输出结果

例:

print "hello world". "/n";

print 3 * 4. "/n";

print 'hello', "world", 3*4. "/n";

输出结果:

hello world

12

helloworld12 

七、变量内插

例:

      $str = world;
     print $str . "/n";
     print "hello $str/n";
     print 'hello $str' . "/n";
     print 'hello ' . $str."/n";
     print "hello $strs/n";
     print "hello ${str}s/n";
     print "hello /${str}s/n";

输出结果:

     world
     hello world
     hello $str
     hello world
     hello
     hello worlds
     hello ${str}s

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5686次
    • 积分:134
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档