0%

perl 学习笔记

Perl是一门解释型语言,具有动态语言的特性,可以写得很随性。缺点是由于语法灵活导致难以维护,这和Go Lang形成了强烈的对比。Go Lang很适合用来团队协作开发,因为它写法很单一固定。Perl,更像是黑客的工具。

Perl的强大之处,在于它具有sed和awk的全部功能,以及众多语言的语法特性,以及非常强大的正则表达式,等等。

Hello, World

Perl的Hello, World:

1
perl -e 'print("Hello, World\n")'

在安装了perl的计算机上,直接执行上述代码,即可输出Hello, World

也可以将perl代码写在文件,以重复执行,具体可以这样写:

1
2
3
4
#!/usr/bin/perl

# 输出 "Hello, World"
print("Hello, World\n");

将上述代码保存成learn.pl后,加下执行权限,然后执行./learn.pl,可输出Hello, World

正则表达式

Perl的正式表达式非常强大,是常用编程语言里最顶尖的之一。下面来看几个例子。

例子1

echo box.svc.content | perl -p -e 's/\.+/\//g'

将会输出box/svc/content

解析:

-p参数会将结果输出出来。

这里用到了一个常用的替换句型,s/old/new/parameters,表示将old替换成new

s/\.+/\//gs表示替换,\.+表示至少一个.\/表示一个/g表示全局匹配。

例子2

1
2
3
4
5
6
#!/usr/bin/perl 

$string = 'welcome to w3cschool site.';
$string =~ tr/a-z/A-z/;

print "$string\n";

上面的代码将会输出WELCOME TO W3CSCHOOL SITE.

这里用到了一个常用的转化句型,tr/old/new/parameters。表示将old转化成new

参考

Perl 正则表达式 - W3Cschool