Perl语言入门
Perl 是 Practical Extraction and Report Language 的缩写,可翻译为 "实用报表提取语言"。
Perl语法基础:
(1)Perl程序由声明和语句组成
(2)Perl程序自上而下执行
(3)Perl语句以分号(;)结尾,包括循环判断等语句
(4)Perl没有严格的格式规范,可以根据自己喜欢的方式缩进
第一个Perl程序:
(1)交互式编程
perl -e 'print "hellow, wold"'
使用-e选项来执行Perl语句
(2)脚本编程
Perl脚本的拓展名为.pl或.PL,脚本名中不能包含空格
例如写一个简单的脚本hello.pl如下
#!/usr/bin/perl print "hello, wold";
代码的作用是输出字符串"hello, wold",而#!/usr/bin/perl是Perl解释器的路径
在终端中执行脚本$perl hello.pl
另外一种执行脚本的方式为,先使脚本获得可执行权限,chmod 0755 hello.pl (或 chmod u+x hello.pl),然后./hello.pl直接执行
Perl语言注释:
(1)单行注释 , #开头的行是注释行,执行时将被忽略
(2)多行注释,以=pod开头,=cut结尾,中间的部分为注释内容,可以多行,执行时将会被忽略。可执行下面例子
#!/usr/bin/perl #这是一行注释 =pod
这是注释1
这是注释2
这是注释3
=cut print "hello, wold\n";
Perl语言中的空白:
(1)空白指的是空格,空行,Tab等
(2)解释器会忽略语句见的空白
print "hello, wold\n";
print "hello, wold\n";
"hello, wold\n";
上面三段代码执行的效果一样
Perl语言的单引号和双引号:
(1)双引号可以正常解析一些转义字符和变量
(2)单引号不能转义
$a = ;
print "a = $a\n";
print 'b = $a\n';
输出的结果为:
a =
b = $a\n
Perl语言中的转义:
(1)Perl中转义使用反斜杠\
Perl语言中的标识符:
(1)标识符指的是语言中变量,常量,函数和语句块等的名称
Perl语言入门的更多相关文章
- Perl语言入门: 斜线不是元字符,所以在不作为分隔符时不需要加上反斜线。
Perl语言入门: 斜线不是元字符,所以在不作为分隔符时不需要加上反斜线.
- Perl语言入门14-17
---------第十四章 字符串与排序------------------- index查找子字符串 my $stuff = "howdy world!"; my $where ...
- Perl语言入门(中文版)(第6版) 东南大学出版社
第一章简介 问题与答案 这本书适合你吗? 为何有这么多的脚注? 关于习题和解答? 习题前标的数字是什么意思? 如果我是Perl讲师? “Perl”这个词表示什么意思? Larry为什么要创造Perl? ...
- Perl 语言入门6-9
---- 第6章 哈希----------- 简介 键值对.键和值都是任意标量,但键总是会被转换成字符串. 键唯一,值可重复. 应用场景:一组数据对应到另一组数据时. 如找出重复/唯一/交叉引用/查表 ...
- Perl语言入门--3--文件读取与写入
现有文件test.txt,内容为:"123\n456" 1,打开文本test.txt #!/usr/bin/perl open d,"test.txt"; d ...
- Perl语言入门--4--函数
1.chop函数:删除标量变量或数组中每个字符的最后一个字 举个栗子: #!/usr/bin/perl $v = 'Flowers'; $r = chop($v); print "$v (w ...
- Perl语言入门--2--变量与字符串
一.$ 简单变量:$ 以$开头+字母或下划线 区分大小写,变量长度不限,没有关键字,但不能和默认变量重复 1.整数的表示: 12 12e2 #1200 -12 #-12 1_200_ ...
- Perl语言入门--1--perl的包安装
A. 手工安装 从CPAN下载了DBI模块1.13版的压缩文件DBI-1.13.tar.gz.假设放在/usr/local/src(一般需要编译安装的软件,都放在此目录下安装). # cd /usr ...
- Perl语言入门:第六章习题:处理用户所指定的名字并汇报相应的姓。
37 print "\n----------------------------------_exercise_6_1--------------------------\n"; ...
随机推荐
- Jedis cluster命令执行流程剖析
Jedis cluster命令执行流程剖析 在Redis Cluster集群模式下,由于key分布在各个节点上,会造成无法直接实现mget.sInter等功能.因此,无论我们使用什么客户端来操作Red ...
- bug定位
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- go语言中的反射reflect
package main; import ( "fmt" "reflect" ) //反射refection //反射使用TypeOf和ValueOf函数从接口 ...
- threejs纹理
纹理 纹理用来表现物体的细节.理论上可以将物体的每个细节建模出来,但是这样时间成本和性能成本都太高,因此,将物体的一些细节用纹理来表示. 图片纹理 图片纹理直接在物体表面应用图片.可以使用Textur ...
- 计数器counter
今天就讲了2个属性:1.计数器 2.列规则 列规则很简单:column-count:3; (列的具体个数) column-width:30px;(列宽)N个浏览器不兼容column-gap:10px; ...
- 内置函数 hashlib configparser logging 模块 C/S B/S架构
1.内置函数 # 内置的方法有很多 # 不一定全都在object中 # class Classes: # def __init__(self,name): # self.name = name # s ...
- Java并发-ThreadGroup获取所有线程
一:获取当前项目所有线程 public Thread[] findAllThread(){ ThreadGroup currentGroup =Thread.currentThread().getTh ...
- UFT12 更新模式
一. 更新测试(非常规运行模式). 如果您知道应用程序已更改, 请以下列某种模式运行测试以相应更新测试: 维护运行模式.如果预计UFT 无法识别测试中的对象, 则使用此模式.当测试运行时, UFT ...
- Java中多线程访问冲突的解决方式
当时用多线程访问同一个资源时,非常容易出现线程安全的问题,例如当多个线程同时对一个数据进行修改时,会导致某些线程对数据的修改丢失.因此需要采用同步机制来解决这种问题. 第一种 同步方法 第二种 同步代 ...
- 如何在 Laravel 中连接多个 MySQL 数据库
第一步.定义数据库链接 config/database.php <?php return [ 'default' => 'mysql', 'connections' => [ # 主 ...