简介
- Perl语言基础
概念
- Perl 借用了C、sed、awk、shell脚本以及很多其他编程语言的特性
- 脚本语言中的瑞士军刀?这个刀很厉害吗?
- 像C一样强大,但perl是解释型语言,不需要编译和链接
- 像awk、sed等脚本描述语言一样方便
- 缺点
- 相同功能的代码差异可以很大,需要统一代码风格
- perl.exe进程会占用很多的内存空间
Hello Roy
- 使用Linux机器,自带了Perl解释器,可以下载源码包安装
# vim hello.pl #!/usr/bin/perl # 指定解释器 print "Hello Roy!\n"; # 双引号才能解释换行,需要使用分号结束,print可以加括号! # 运行 perl hello.pl # 如果要直接运行,需要添加执行权限 chmod 755 hello.pl # rwxr-xr-x ./hello.pl # 前面必须有路径
- 上面是脚本式编程,也可以交互式
perl -e 'print "Hello Roy\n"' # 终端直接输出
- 注释,分单行注释和块注释
#!/usr/bin/perl print "Hello, Roy!\n"; =pod 这是多行注释, 也叫块注释 =cut
数据类型
- perl是弱类型语言
- 三个常用数据类型:标量、数组、哈希
- vim基操
# 跳到行首 shift + 6 # ^ # 跳到行尾 shift + 4 # $ # 跳到首行 gg # 跳到尾行 G (shift + g) # 跳到行尾并插入 shift + a
- Linux键入命令
ctrl + a 跳到命令首 ctrl + e 跳到命令尾 ctrl + u 删除当前键入命令
标量
- Perl 语言中最简单的一种数据类型
- 可以是数字,字符串,浮点数,不作严格的区分
- 在使用时在变量的名字前面加上一个
$
,表示是标量# 八进制以0开始 $var1 = 047; # 等于十进制的39 # 十六进制以0x开始 $var2 = 0x1f; # 等于十进制的31 # 字符串标量可以使用 . 连接 $str1 = 'hello'.'roy\n'; # 有时不写换行是不输出的...... print $str1 # 输出多行还可以使用: print <<EOF; Roy is a handsome boy! EOF
- 一些特殊字符
#!/usr/bin/perl print "文件名 ". __FILE__ . "\n"; # ./sepcial.pl print "行号 " . __LINE__ ."\n"; # 4 不算空行 print "包名 " . __PACKAGE__ ."\n";# main
- v字符串,以 v 开头,后面跟着一个或多个用句点分隔的整数
#!/usr/bin/perl $smile = v9786; $foo = v102.111.111; $martin = v77.97.114.116.105.110; print "smile = $smile\n"; # 会输出一个笑脸的图案 print "foo = $foo\n"; print "martin = $martin\n";
- Perl中有一些需要注意的地方
- 整数存在计算机中的浮点寄存器中,所以实际上被当作