标量变量——perl
好吧,我承认,我是个标题党。不过起这标题,另一层含义就是perl的很多东西很像C语言,至少看起来是,这样设计应该是为了给C程序员很大的安全感吧。如果阁下也喜欢perl,那么请多多指教。呵呵。
perl用标量(scala)来称呼单件事物,大部分的标量都是数字和字符串,就跟C语言中的常量是一回事。如果学过C语言的话,那么这一章应该很容易就看过去了。
perl对变量的声明很简单,直接$name就定义了一个标量,但是不要和系统内置的变量取成同样的名字了(如果你歪打正着取中了系统内置的变量,那么我建议你,马上放下手头的事,买彩票去吧),不然可能后果会出乎你的想象,比如说定义了一个$_,这个变量是系统默认的标量,以后会发现这个家伙又多么的神奇。其使用非常简单,比C语言简单多了,因为你不用不理会选择使用哪种类型的数据,一切都交给perl去办吧,累死perl不要紧,重要的是我们多了大把的时间。
比如下面的定义:
$number = 12345678;
$string = "Hello \tWorld";
$string_2 = 'Hello \tWorld';
注意到上面string 和 string_2的区别没?其区别仅仅是赋值的时候,一个用的是双引号,一个用的是单引号。双引号内的字符会进行字符转义,而单引号内的不会。
同样,看看下面的输出,就知道区别在哪了。
print $string; #Hello World
print $srting_2;#Hello \tWorld
如果你学过C语言,那么,应该对转义字符很熟悉了吧,如果还不熟悉的话,《The c programming language》喊你回家看书,别生气,开个玩笑啦,毕竟基础知识还是很重要的。网上很多这方面的资料,googel一下,你会知道更多。
关于操作符,同样跟C语言很像,支持+、-等,也支持+=,甚至连大杀器?:都有,够神奇吧,说说C语言没有的东西吧,关于字符串,perl中 . 可以把两个字符串连接起来,而x(英语字母X的小写)更加神奇,它会按你的意愿,将字符串重复N遍,继续看例子:
$str_1 = "abc";
$str_2 = "123";
$string = $str_1 + $str_2;
$string_2 = $str_1 x 3;
print $string; #result: abc123
print $string_2; $result: abcabcabc
个人感觉,perl的语法比C语言简单多了,当然,前提仅仅是指语法。