Perl笔记:01、变量
字符型变量和数值型变量 数值型变量可以直接用 3*8 ,7+9的方式来书写 字符型变量的连接可以使用点(.)操作符,如 "abcd"."xxxx"等同于"abcdxxxx" 字符型变量可以内嵌到其他的字符型变量中,但要求的字符串必须用双引号来括起的形式,单引号的不能够内嵌 if控制结构一旦能比较两个值时,就希望能根据这些比较结果作判断。和别的语言类似,Perl中也提供了 if控制结构:
if
(
$name
gt
'fred'
)
{ print "'$name' comes after 'fred' in sorted order.n" ; } 如果需要另一种选择,可以使用关键字else:
if
(
$name
gt
'fred'
)
{ print "'$name' comes after 'fred' in sorted order.n" ; } else { print "'$name' does not come after 'fred'.n" ; print " Maybe it's the same string,in fact.n" ; } Boolean 值在if控制结构的条件判断部分可以使用任意的标量值。这在某些时候将很方便,如:
$is_bigger
=
$name
gt
'fred'
;
if ( $is_bigger ) { do something } 那么,Perl 是怎么判断其值得true 或 false呢?Perl不同于其它的一些语言, 它没有Boolean 类型。它利用如下几条规则 用户输入现在,可能想你的 Perl 程序怎样才能从键盘上得到输入呢?有一种简单方法:使用行输入操作符(line-input operator), <STDIN>中的字符串通常由一个换行符作为结尾。因此,可以如下操作:
#!/usr/bin/perl
print "please input you name:" ; $NAME = <STDIN> ; if ( $NAME eq "" ) { print "please input your name!" ; } else { print "you name is :$NAME" ; } chomp函数chomp函数,可以去掉变量中最后的换行符 如下例: 这是将字符串末尾换行符去掉的最好方法。 $text = <STDIN>; chomp是一个函数。作为一个函数,它有一个返回值,为移除的字符的个数。这个数字基本上没什么用: while控制结构和许多的程序语言一样,Perl 也提供了循环结构。while语句可以循环执行其内部的一块代码直到其条件非真:
$count
=
0
;
while ( $count < 10 ) { $count + = 2 ; print "count is now $countn" ; #打印出 2 4 6 8 10 } 条件中真假值的判断和if结构中是一样的。和if控制结构相同,花括号是必须的。判断条件在迭代前执行,如果条件为假, undef值 如果没有定义就是用这个变量的话,这个变量中的值就称之为undef。如果当成数字的话其值为0,当成字符串使用的话它表示空字符串。但它及不是数字也不是字符串,它完全是另一种类型的标量值。
#!/usr/bin/perl -w
while ( $n < 10 ) { $n += 1 ; print "$nt" ; } print "n" 输出结果 这里我使用了-w参数因此输出了一行警告信息 同样undef也可以作为一个字符串的累加器,如下: defined函数"行输入"操作符 <STDIN> 在读到文件末尾时会返回undef。那么如何判断一个变量是undef还是空字符串呢?使用defined函数就可以搞定这个疑虑,如果是undef返回假,否则返回真。如下例子:
#!/usr/bin/perl -w
$madonna = <STDIN> ; if ( defined ( $madonna ) ) { print "the input is $madonnan" ; } else { print "No input available!n" ; } 如果想尝试undef值,可以直接使用undef操作符,或者不进行任何的定义即可。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |