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 | #!/usr/bin/perl |
将上述代码保存成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/\.+/\//g
的s
表示替换,\.+
表示至少一个.
,\/
表示一个/
,g
表示全局匹配。
例子2
1 | #!/usr/bin/perl |
上面的代码将会输出WELCOME TO W3CSCHOOL SITE.
。
这里用到了一个常用的转化句型,tr/old/new/parameters
。表示将old
转化成new
。