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。