Perl学习之二:标量数据

原创 2011年01月07日 16:32:00

一、什么是标量

  • 标量是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

Perl 入门 之 标量比较 以及 默认参数 $_

#! /usr/bin/perlrequire 5.22.2; #最常用的默认参数 $_ = "hello perl \n"; print;CANDIDATE: for my $candidate (...
  • dark5669
  • dark5669
  • 2017年06月06日 16:51
  • 276

perl标量上下文小结

本人最近在学习perl语言的过程中,遇到一些常常容易出错的地方.特别是标量上下文这一块.当数组或哈希赋值给一个变量时,常常会因为中括号[]和()的混淆而造成语法错误.下面将通过打印的方式来理解标量上下...
  • qq_18875541
  • qq_18875541
  • 2017年04月06日 15:52
  • 241

perl中标量的定义和使用

1.perl变量定义和使用 perl变量定义以$开头,后面接变量表示符,例如: $var = 3 #定义变量varperl中变量使用同样以$开头,例如, $var1 = $var2 + 1备注...
  • wangjianno2
  • wangjianno2
  • 2015年10月25日 02:12
  • 417

perl 标量变量的真假值判断

我们知道,在Perl中,并没有专门的布尔值类型,但是在一些Perl文档中,你经常会看到诸如"某个函数返回了一个布尔值"或者"某个函数返回了true(或false)"等等这样的言论.那么,究竟哪种说法是...
  • u010533843
  • u010533843
  • 2017年05月12日 10:44
  • 549

Perl 学习——标量数据(1)

1.标量数据可有操作符(如相加和串联),通常会产生一个新的标量数据。标量数据的值可以存放在标量变量中。标量可以从文件或设备读取,也可以写进去。 2.在Perl中,一个字符串是一个标量,但是可以使用这...
  • life_miracle
  • life_miracle
  • 2008年11月15日 23:50
  • 463

Perl学习——标量数据(2)

1.字符串是一串字符,可以是任意字符的组合。它在Perl中是标量数据类型。最长的字符串可以填满整个内存,最小的,可以是空字符串。这是符合Perl的无限制原则的。 2.字符串的普通表示方法:一是使用单...
  • life_miracle
  • life_miracle
  • 2008年11月16日 22:55
  • 260

PERL语言学习二(PERL常量与标量)

perl 常量 标量
  • LUOYING198791
  • LUOYING198791
  • 2011年05月19日 17:58
  • 2116

perl——标量数据!

简单变量:简单变量以$开头。区分大小写。变量长度不限。没有关键字。 注意:字符串的连接是使用“.”来连接的,如:"hello" . "word" 结果是helloword。 例子: [o...
  • zq9017197
  • zq9017197
  • 2012年03月19日 15:19
  • 584

Perl Learning (3_2) —— 标量上下文与列表上下文

上下文 表达式所在的位置
  • delphiwcdj
  • delphiwcdj
  • 2011年01月22日 21:08
  • 1816

PERL语言学习三(PERL标量数据)

标量数据 chop():去掉最后一个字符。返回删桌的那个字符。  chomp():是去掉字符串中的最后一个特殊字符。返回1 $/   $INPUT_RECORD_SEPARTOR    输入记录分隔符...
  • LUOYING198791
  • LUOYING198791
  • 2011年05月27日 00:22
  • 513
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Perl学习之二:标量数据
举报原因:
原因补充:

(最多只允许输入30个字)