有时候觉得一个人是如此的渺小,渺小到历史根本不会记得你,渺小到你的三百六十五天与其它人毫无关系。所以啊,是否名垂千古,与我的关系似乎都不大。而我,想要的其实很简单,欣赏每个日出与黄昏,享受宁静的夜色与黎明,至少在自己的世界里无所不能,有着喜欢的歌,有着期待的人,有着狭小的胸襟和渺小的梦,只希望不辜负看似平淡却很值得珍惜的everyday。
似乎在犹豫什么,是因为到目前为止还没有真正的派上用场,但是每次学习perl都被他那无拘无束的,意想不到的,不同于其他语言的语法感到惊讶。学习perl恐怕要改变以往的固定的语法思维,什么是浮点数,什么是整数,什么是字符串,在perl的世界里都一样,不都是二进制文件么?是的,就是这么傲娇,而确定他们的条件就是context(上下文环境)。所以学习perl会觉得没有什么是不可能,而且会改变思维习惯。
perl的核心思想:
1 2 3
| 1. 没有不必要的限制
2. 解决问题的方法不止一个
|
开头:
脚本都需要一个开头声明是使用的啥脚本语言,shell?perl?python?
关于文件命名规则:
perl是不赞成把perl脚本写成.pl等等啥的。
字符串连接:.
1 2
| "hello"."world"-->"helloworld" "a"."b"-->"ab"
|
字符串重复操作符:x
1 2
| "a"x3-->"aaa" "hello"x3-->"hellohellohello"
|
数字比较:
字符串比较:
数字和字符串都作为一个东西:标量变量
数字都以双精度存储。可以以_分隔,并不影响数字
标量变量都以$开头
标量或者说变量其实都是指的同一个东西。可以说标量、变量、标量变量。
与其它语言不同,比如python定义了一个变量就可以直接使用变量名来使用变量。但是perl不同,只有以$开头的才被认为是标量变量。
1 2 3 4 5 6
| $num = 5
if($num > 5){ print "great than 5"; }
|
标量不需要初始化undef
这就是perl的哲学思想,省去不必要的麻烦,定义标量不就是拿来用的吗,既然这样又何必每次都需要声明变量赋初值,直接拿来用不是简单一些。所以:
perl中括号是可选的
除非移除他们含义会变,否则都可以不写括号。循环控制结构中括号不可省(for、while循环等,if判断等)
1 2
| print("it seems that i have a dream\n"); print "it seems that i have a dream",'\n';
|
简单的输入与输出
1 2 3 4 5 6
| $变量 = <STDIN>; chomp($变量); chomp($变量=<STDIN>);
chomp($num=<STDIN>); chomp $num=<STDIN>;
|
所有语句都以;
结尾