Perl语言入门--2--变量与字符串
一、$
简单变量:$ 以$开头+字母或下划线
区分大小写,变量长度不限,没有关键字,但不能和默认变量重复
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的切掉
Perl语言入门--2--变量与字符串的更多相关文章
- Perl语言入门: 斜线不是元字符,所以在不作为分隔符时不需要加上反斜线。
Perl语言入门: 斜线不是元字符,所以在不作为分隔符时不需要加上反斜线.
- Perl语言入门
Perl 是 Practical Extraction and Report Language 的缩写,可翻译为 "实用报表提取语言". Perl语法基础: (1)Perl程序由声 ...
- Perl语言入门14-17
---------第十四章 字符串与排序------------------- index查找子字符串 my $stuff = "howdy world!"; my $where ...
- Perl语言入门(中文版)(第6版) 东南大学出版社
第一章简介 问题与答案 这本书适合你吗? 为何有这么多的脚注? 关于习题和解答? 习题前标的数字是什么意思? 如果我是Perl讲师? “Perl”这个词表示什么意思? Larry为什么要创造Perl? ...
- Perl 语言入门6-9
---- 第6章 哈希----------- 简介 键值对.键和值都是任意标量,但键总是会被转换成字符串. 键唯一,值可重复. 应用场景:一组数据对应到另一组数据时. 如找出重复/唯一/交叉引用/查表 ...
- Perl 语言入门1-5
第一章 简介 perl -v 文字处理,编写小型CGI脚本(Web服务器调用程序)的最佳语言 CPAN: Perl综合典藏网 shebang: #! /usr/bin/perl 或#! /usr/lo ...
- perl语言入门总结-第2章
$what ='steak'; print "fred ate $n ${what}s.\n"; 布尔值 如果是数字0为假, 如果是空字符串''为假, 如果即不是数字也不是字符串, ...
- Perl语言入门--5--散列、hash
hash 一.关联数组的形式 %h=('a',1,'b',2); a是key 1是value b是key 2是value 以%开头,()为空散列 %h=('a'=>1,' ...
- Perl语言入门--4--列表
1.列表也是数组的形式:(1,'a',2,3,4) 元素可以是任意类型,变量,表达式 2.空列表:() 单元素列表:(2) .与值2不同 qw(1 $a str) #qw是用空格作为分隔符,元素 ...
随机推荐
- (六)使用Docker镜像(下)
1. 创建镜像 创建镜像的方法有三种: 基于已有镜像的容器创建 基于本地模板导入 基于Dockerfile创建 1.1 基于已有镜像的容器创建 该方法主要是使用docker commit命令,其格式 ...
- 由DAG到背包问题——记忆化搜索和递推两种解法
一.问题描述 物品无限的背包问题:有n种物品,每种均有无穷多个.第 i 种物品的体积为Vi,重量为Wi.选一些物品装到一个容量为 C 的背包中,求使得背包内物品总体积不超过C的前提下重量的最大值.1≤ ...
- 打印两个有序链表的公共部分 【题目】 给定两个有序链表的头指针head1和head2,打印两个 链表的公共部分
简单题 package my_basic.class_3; public class Code_10_PrintCommonPart { public static class Node{ int v ...
- vue引用文件
1)css引入在vue页面中<style scoped> @import url("../assets/css/home.css");</style>2)j ...
- 单机简单搭建一个kafka集群(没有进行内核参数和JVM的调优)
1.JDK安装 在我的部署单节点kafka的博客里有相关的方法.(https://www.cnblogs.com/ToBeExpert/p/9789486.html )zookeeper和kafka的 ...
- 全排列问题(DFS)
题目描述: 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式: n(1≤n≤9) 输出格式: 由1-n组成的所有不重复的数字序列,每行一个序列 ...
- 二段式fsm
1.推荐在敏感表下的默认状态为X,这样描述的好处有2个: 好处1:仿真易观察bug. 好处2:综合对不定态X的处理是"Don't Care",即任何没有定义的状态寄存器向量都会被忽 ...
- day03变量补充和数据类型
1.变量的内存管理机制 引用计数:存放值的内存地址绑定的变量个数 垃圾:引用计数为0的内存地址 引用计数增加: age = 18 x = age 引用计数减少: ①age = 19 ②del x 值的 ...
- java复习之基础环境
环境基本介绍: JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK).在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为b ...
- 链式链表的C风格实现
头文件: #ifndef _LINKLIST_H_ #define _LINKLIST_H_ typedef void LinkList; //将数据的类型分离,相当于句柄 //只是一个小节点 包含着 ...