码迷,mamicode.com
首页 > 其他好文 > 详细

perl 语法速查

时间:2016-08-10 06:28:43      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:

同时学perl、python和shell脚本会很容易将它们的语法搞混,本文主要是一个个人的总结,方便要用时的查询。

perl基本语法、安装、帮助文档


文件头格式:

#!/usr/bin/perl
use strict;
use warnings;

运行perl脚本:

#调用perl程序
perl test.pl
#可执行脚本
chmod 755 test.pl
./test.pl

基本读写:

#键盘输入
$a = <STDIN>;
chomp($a);
print $a;

#文件输入
open(IN, "<test.txt") or die "Cannot open file:$!\n";
open(OUT, ">test.txt") or die "Cannot open file:$!\n";
while(<IN>){
    chomp;
    print OUT "1. $_";
    last;
};
close(IN);
close(OUT);

基本控制流:

if( ){

}elsif( ){

}else{

}
print "Hello!" if (1 == 1);  #简写
while( ){
    $count++;
}

for($i; $i <= 10; $i++){

}

foreach (@array){
    print $_;
}
last;   #break
next;   #continue

 

数据结构:标量变量($),列表(),数组(@),哈希(%),文件句柄(<>)

语法结构:语句以分号(;)结束,代码块使用花括号{}划分,动态语言不必指明变量类型

单双引号:单引号q(),所有原样输出;双引号qq(),允许插入变量

语法惯例:perl中很多地方括号()是可由可无的,特别是内置函数,如print、split等;可以使用递增递减运算符

安装:Windows装Active版本,(perl -v)检查;linux装,

$ tar -zxvf stable.tar.gz -C dir
$ sh Configure   # 配置
$ make   # 安装
$ make test  #测试是否make成功
$ make install

帮助文档:perldoc命令

perldoc  #会提示用法
perldoc perl  #会显示详细用法
perldoc perlfunc  #三大模块
perldoc perlop
perldoc perlfaq

建议使用浏览器查看本地的HTML文档:

file:///D:/Program%20Files/Perl64/html/index.html

 

关键字:特殊变量

$_:默认参数,就是当前的默认操作参数,在读文件<FILE>、迭代for (@array)、split / /、print中非常重要

$!:标准错误输出,一般只与or die语句连用

$1:正则表达式模式中第一个括号内的变量,如(.*)、(string),以此类推

@_:sub函数传递的参数数组,

 

关键字:字符串运算符

连接字符串:并置运算符(.)

转义:反斜杠\

区分标量和字符串:{}显示指定变量名,如${name}space

重复运算符(x),如“-”x 10

 

关键字:数组、哈希

列表:列表是常量,由圆括号()创建,中间用逗号隔开

# 范围运算符
@a = (1..10)
@b = (1..10, 21..30)
@list=(aa..zz);

创建数组:用列表()创建数组

引用数组:用方括号[ ]下标引用数组

创建哈希:用列表()创建哈希,为了好看,键值对以=>形式组织;也可以单个创建

引用哈希:用花括号{}引用哈希

 

关键字:数组操作

 

 

 

关键字:(数值/字符串)比较

数字比较:(==、>、<、>=、<=、!=)

字符串比较:(eq、gt、lt、ge、le、ne)

 

关键字:print用法

print:可以直接接变量$var、@array、%hash,输出的就是不带空格回车,将所有元素连在一起,数组一坨,哈希一坨,其中哈希顺序是乱的。

print:可以带双引号,数组之间有空格,可以分辨了;哈希失效了,没有内容,就显示出%hash。

print:输出到文件时,文件句柄在前,中间是空格(不能是逗号),后面是输出内容

 

关键字:q()、qq()、qw()、qx{}

q():用单引号将内容括起来

qq():用双引号将内容括起来

qw():用单引号将空格隔开的序列组装成数组,会屏蔽里面的标量

# 两者等价,最好不要有内嵌变量
@a = qw(abc def ghi)  
@b = (abc,def,ghi)

qx{ }:捕获命令输出

$directory = `dir`;
$directory_2 = qx{dir};

 

关键字:正则表达式、模式

 

 

关键字:函数

标准函数格式:

 

关键字:常用内置函数

int(5.20);

length(“nose”);

lc(“ME TOO”);

uc(“hal 9000”);

cos(50);

rand(5)

 

关键字:堆栈操作函数

push()

pop()

shift():将最后一个元素移走,常用语处理函数参数

unshift()

 

关键字:命令行

 

 

关键字:上下文

 

 

 

关键字:chomp

chomp是运算符,可以用圆括号,也可以用空格;它会改变参数变量,其返回值是1或0

$a = "lizhiixn\n";
print $a;
print "next\n";
chomp $a;
print $a;
print "next";
$b = chomp($a);  #极少这么用

perl 语法速查

标签:

原文地址:http://www.cnblogs.com/leezx/p/5755237.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!