一、$

简单变量:$          以$开头+字母或下划线

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

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    e或E,+或-,e后面最多一到三位数字

3、注意

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

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

二、字符串变量

1.变量替换

$var ="str";

print "this is $var" ; -> '' this is str"

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

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

2.转义字符

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的切掉

foreach (@array) { s/a/b/; } # 此处每次循环将从 @array 数组中取出一个元素存放在 $_ 变量中,并对 $_ 进行替换处理。
while (<FILE>) { print if (m/error/); } # 这一句稍微复杂一些,他将打印 FILE 文件中所有包含 error 字符串的行。

Perl语言入门--2--变量与字符串的更多相关文章

  1. Perl语言入门: 斜线不是元字符,所以在不作为分隔符时不需要加上反斜线。

    Perl语言入门: 斜线不是元字符,所以在不作为分隔符时不需要加上反斜线.

  2. Perl语言入门

    Perl 是 Practical Extraction and Report Language 的缩写,可翻译为 "实用报表提取语言". Perl语法基础: (1)Perl程序由声 ...

  3. Perl语言入门14-17

    ---------第十四章 字符串与排序------------------- index查找子字符串 my $stuff = "howdy world!"; my $where ...

  4. Perl语言入门(中文版)(第6版) 东南大学出版社

    第一章简介 问题与答案 这本书适合你吗? 为何有这么多的脚注? 关于习题和解答? 习题前标的数字是什么意思? 如果我是Perl讲师? “Perl”这个词表示什么意思? Larry为什么要创造Perl? ...

  5. Perl 语言入门6-9

    ---- 第6章 哈希----------- 简介 键值对.键和值都是任意标量,但键总是会被转换成字符串. 键唯一,值可重复. 应用场景:一组数据对应到另一组数据时. 如找出重复/唯一/交叉引用/查表 ...

  6. Perl 语言入门1-5

    第一章 简介 perl -v 文字处理,编写小型CGI脚本(Web服务器调用程序)的最佳语言 CPAN: Perl综合典藏网 shebang: #! /usr/bin/perl 或#! /usr/lo ...

  7. perl语言入门总结-第2章

    $what ='steak'; print "fred ate $n ${what}s.\n"; 布尔值 如果是数字0为假, 如果是空字符串''为假, 如果即不是数字也不是字符串, ...

  8. Perl语言入门--5--散列、hash

    hash 一.关联数组的形式 %h=('a',1,'b',2);         a是key 1是value    b是key  2是value 以%开头,()为空散列 %h=('a'=>1,' ...

  9. Perl语言入门--4--列表

    1.列表也是数组的形式:(1,'a',2,3,4) 元素可以是任意类型,变量,表达式 2.空列表:() 单元素列表:(2)  .与值2不同 qw(1 $a str)   #qw是用空格作为分隔符,元素 ...

随机推荐

  1. python基础一 day9 函数升阶(3)

    局部命名空间一般之间是独立,局部命名空间是调用函数时生成的函数的名字指向它所在的地址局部不会对全局产生影响,除非加global.# def max(a,b):# return a if a>b ...

  2. spfa模板+讲解

    zz http://blog.sina.com.cn/s/blog_6ad20aef0100mc1a.html Spfa算法 (模板源代码) 这是Bellman Ford的改进算法.    算法介绍: ...

  3. 行内元素的padding和margin是否无效

    html中元素分为三种:块级元素.行内元素(也叫内联元素),内联块级元素. 常用块级元素:<div>.<p>.<h1>...<h6>.<ol> ...

  4. shell脚本,一个字符一个字符输出。

    [root@localhost wyb]# cat file abc def abc 789de f567 [root@localhost wyb]# cat fffile.sh #!/bin/bas ...

  5. shell脚本,awk数组之如何处理多个文件。

    [root@localhost | > file [root@localhost - | > file1 [root@localhost awk]# cat file [root@loca ...

  6. scrollTop如何实现click后页面过渡滚动到顶部

    用JS操作,body元素的scrollTop var getTop = document.getElementById("get-top"); var head = documen ...

  7. verilog random使用

    “$random函数调用时返回一个32位的随机数,它是一个带符号的整形数...”,并给出了一个例子: _________________________________________________ ...

  8. perl学习之子程序

    一.定义子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读.PERL中,子程序可以出现在程序的任何地方.定义方法为:sub subroutine{statements;}二.调 ...

  9. Python中threading的join和setDaemon的区别[带例子]

    python的进程和线程经常用到,之前一直不明白threading的join和setDaemon的区别和用法,今天特地研究了一下.multiprocessing中也有这两个方法,同样适用,这里以thr ...

  10. Objective-C urlEncode urlDecode

    @interface NSString (stringByDecodingURLFormat) - (NSString *)stringByDecodingURLFormat; - (NSString ...