Perl学习笔记(一)

最近开始实习开始学习小骆驼书qwq

首先注意一个历史遗留问题:
另一种语言Perl 6,在开始设计的时候是希望将它作为Perl 5的新版,但人们渐渐发现它有很多特性都发生了变化,基本成为了一种新的语言,所以不再改名字,直接用Perl 6代替这种新的语言。如果我们说的是Perl,那么它默认的是Perl 5。

Perl语言:实用摘录与报表语言(Practical Extraction and Report Language)
或者病态折中式垃圾列表器其实作者Larry Wall是先想出Perl这个词,然后强行进行解释的=-=|||

Per的四大特点:
1.Perl易于使用
2.Perl几乎不受限制(比如有人编写中断-微内核层次的设备驱动程序)
3.Perl的运行速度还是挺快的
4.Perl代码看起来比较丑

CPAN是Perl 综合典藏网(Comprehensive Perl Archive Network),里面有各种模块,各种文档。

第一个helloworld程序helloworld.pl:
#!/usr/bin/perl
print "Hello World\n!";

perl脚本文件是.pl后缀命令行模式下,执行pl文件可以perl helloworld.pl或者./helloworld.pl(这种方式需要chmod改变权限)

这个简单的程序在Perl 5.10及其后续版本中可以有另一种不同的写法

#!/usr/bin/perl
use v5.18;		#一定不要忘记分号,注意这里的v可以省略,小数点后变成三位:use 5.018;
say "Hello World";

运行程序时,Perl内部的编译器会先载入整个源程序,将之转换为内部使用的bytecodes,这是一种在Perl内部用来表示程序语法树的数据结构,然后交给Perl的bytecode引擎执行。

第一个应用实例讲解:

#!/usr/bin/perl
@lines=`perldoc -u -f atan2`;		#反引号调用了外部命令
foreach(@lines){		#启动一个循环,依次对每行数据进行处理。
	s/\w<([^>]+)>/\U$1/g;
	print;
}

上面的外部命令perldoc用来阅读Perl及其相关扩展和工具程序的说明文档。当反引号里的命令执行完毕后,输出结果会一行行的依次存储在@lines这个数组变量中。

循环内部的意思:对每一个包含<>的行进行相应的数据替换操作。而在perldoc命令的输出结果里,应该至少有一行符合此操作条件。

运行对比图:
Perl学习笔记(一)_第1张图片

Perl学习笔记(一)_第2张图片

很多时候,我们都是用Perl来做这种数据转换工作。

你可能感兴趣的:(perl)