perl-1-标量

一、简介

Perl(Practical Extraction and Report Language),是一种高级、通用、直译式、动态的程序语言,最具代表性的为正则表达式,也称实用报表提取语言。

二、标量数据

1.标量数据分为数字和字符串。
2. 数字
  • 所有数字的内部结构都一样:整数和浮点数在Perl内部都是以双精度浮点数的要求来保存数据并进行运算的。
  • 直接量(代码中直接键入的数据)的写法
    1.浮点数直接量:1.25; 255.000;-6.5e24
    2.整数直接量:0; 2001; -30; 23_1111_7763(可下划线区分)
    3.非十进制的整数直接量:
o377         #八进制--255
0xff         #十六进制--255
0b11111111   #二进制--255//前置0
  • 数字操作符:
+ - * /  %(取模) **(取幂)
取模:先取整数再求余
eg: 10.5%3.2等效于10%3
2**3---2的三次方
3. 字符串
  • 字符串通常是由可输出的字母,数字及标点符号组成。
  • 如果要看到源代码出现ASCII字符范围以外的字符,需要加以下编译指令:
use utf8    #Unicode编码
  • 字符串直接量
    1.单引号内的字符直接量
    除了单引号和反斜杠字符外,单引号内所有字符都代表他们自己,而要表示单引号或反斜杠,需要在此符号前加入反斜杠字符表示转义。
' fred '  #共四个字符
‘ \’\\ '  #单引号和反斜杠两个字符

2.双引号内的字符直接量
双引号的反斜杠更为强大,可以转义许多控制字符或者用八进制或十六进制写法来表示任何字符。

" coke\tsprite "  # coke、制表符(tab)和sprite

3.双引号内字符串的常见反斜线转义

组合       意义
\n         换行
\r         回车
\t         水平制表符
\f         换页符
\b         退格

4.字符串操作符

.    #句号操作符,连接操作符
eg: "hello" . "world"     # 等同于"helloworld"
x    #字符串重复操作符
eg: "fred"x3   # "fredfredfred"
eg: 5x4.8   # "5555",先将数字5转换成字符串"5"
且有操作数在使用前会先取整(4.8变成4)
重复次数小于1时,会生成程度为0的空字符串
3. 数字与字符串间的自动转换

自动转换完全取决于操作符

"12" *"3"         #36
"12fred34" * "3"  #也是36
‘o377’            #十进制377,"自动转换总是按照十进制数字来处理"

前置0的技巧只对直接量有效,不能用于字符串的自动转换

4. Perl内置警告信息
法一: use warnings;        # 能够指定代码的作用范围
法二: perl -w my_lab.plx    #此法对所有涉及代码都开启警告功能
法二也可以写成: "#! /usr/bin/perl-w"
法三: use diagnostics
5. 标量变量
  • 变量: 储存一个或多个值的容器的名称。
  • 标量变量:单单存储一个值的变量。
  • 标量变量的名称以美元符号开头:$,区分大小写
  • 组成:由字母或下划线开头,后接多个字母数字或下划线
$name
$Name  #两者为不同变量
6. 赋值
$fred = $fred + 5 ;
$fred += 5 ;       #两者等效,双目赋值操作符
$str = $str . " "  #在str的末尾追加一个空格字符
$str .= " "        #作用同上

$barney = " fred ate a $meat " #如果meat未被赋值过,用空字符来替换
print "$barney"   #双引号是多余的
print  $barney    #变量内插又叫双引号内插
print "The name is \$barney.\n"     #会输出$符号
print ' The name is $barney '."\n"  #效果同上 

$what = steak ;
$n  = 3 ;
print "fred ate $n $whats .\n" ;此处引用的是$whats的值,而不是what
print "fred ate $n ${what}s .\n"
7. 借助代码点创建字符

键入一些键盘上没有的那些字符,可以直接键入这些字符的代码点,再通过chr()函数转换成对应字符。

$alef  =  chr( 0x05D0 )
$alpha = chr( hex('03B1') ) ;
$code_point = ord('?');
"$alpha$omega" 
"\x{03B1}\x{03C9}"  #如果不预先创建变量,也可以在双引号内用\x{}的形式
8.比较操作符
大于或等于:>=
小于或等于:<=
<>,=>在perl里都有别的意义。

数值与字符串的比较操作符

比较              数字                  字符串
相等               ==                    eq
不等               !=                     ne
小于               <                      1t
大于               >                      gt
小于或等于          <=                     1e
大于或等于          >=                     ge
9. 布尔值
数字:0为假,所有其他数字都为真
字符串:空字符串为假,其他字符为真
既不是字符也不是数字;先转换成字符或数字再进行判断
字符串'0'跟数字0是同一个标称值 # "因为自动转换都是以十进制进行转换的"
10. 获取用户输入

行输入操作符<STDIN>:直到换行符为止 。

$line = <STDIN> 
chomp( $text = <STDIN> ) ;  # 读入文字,略过最后的换行符
11. undef值

首次赋值前:变量值的初始值就是特殊的undef值,既不是数字,也不是字符串,他完全是另一种类型的标称值。

判断某个字符串是undef而不是空字符串
$madonna = <STDIN>
if ( defined(madonna) )

$m = undef  # 自己创造undef值,回到从未用过的状态
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容