2.1 Perl--标量变量
Perl标量(scalar)是称呼单个的事物,可以是数字,也可以是字符串。变量即为存储一个或多个值的容器的名称。标量变量为仅仅存放一个值的变量。
首先,我们来聊一下perl常见的单引号双引号的区别:
-
两者都是用来让perl识别字符串的开始和结尾 “fred”和‘fred’效果一样
-
单引号 也只有在反斜线后面接单引号或反斜线时,才表示转义。要使用\则需要在前面加一个\来转义,要使用’则需要在前面加一个\来转义,例如:‘'\' 表示单引号后接一个反斜线
-
双引号 一般用作转义或这是使用变量内插
\在里面有很强的转义功能,比如\n表示换行,一般结尾都需要来个这个 \f换页 …… $meal=“bro steak”; $barney=“fred ate a $meal”; $barney=‘fred ate a’.$meal; 这两种写法效果一样,其中.表示为链接字符串的操作符。所以上面那个看上去更简洁嘛
结合着例子来说明吧
第一个例子:
提示用户输入半径来求周长
#! /usr/bin/perl #告诉脚本Perl在哪里运行
use warnings; #有错误的话,就提醒,也可以跟上面合并#! /usr/bin/perl -w
$pi=3.141592654; #定义标量变量$pi的值为
print "What is the radius?"; #提示输入半径
chomp($radius=); #为行输入,其返回的字符串一般在末尾都会有换行符,而 $circ=$pi*2*$radius; chomp只能作用于单个变量,且该变量必须为字符串,去掉末尾的 换行符,如果字符串后面有两个以上的换行符,chomp()仅仅删除一个
print "The circumeference of acircle of radius $radius is $circ.\n"; #后面不输入\n的话结果末尾光
标提示有误
第二个例子:当输入的半径小于0时,输出的结果为0,不为负数。
#! /usr/bin/perl
use warnings;
$pi=3.141592654;
print "What is the radius?";
chomp($radius=);
$circ=$pi*2*$radius;
if($radius<0){
print "0\n"
}else{
print "The circumeference of acircle of radius $radius is $circ.\n";
}
这里面就是多了一个if语句,如果()里面的,就怎样,否则……
第三个例子:提示用户输入两个数字,然后输出两者的乘积
#! /usr/bin/perl
use warnings;
print "What is the one?";
chomp($one=);
print "What is the two?";
chomp($two=);
$three=$one*$two;
print "The result is $three\n";
第四个例子:提示输出一个字符串和一个数字,使用x操作符
#! /usr/bin/perl
use warnings;
print "plese enter a string:";
chomp($one=);
print "please enter a number of times:";
chomp($two=);
$three=$one x $two;
print "The result is $three\n";
each操作符:
my @rocks=qw / bedrock slate rubble granite/;
while(my($index,$value)=each @rocks){
say"$index:$value";
}
每次对数组调用each,会返数组中下一个元素所对应的两个值–该元素的索引以及各该元素的值
ps:
- 上面的方法尽管参考,方法肯定不止一个
- 如果跟我一样是菜鸟,请结合我的第一篇博客看如何运行这样的脚本。
- 博文内容为整理的《Perl语言入门》这本书,感谢这个书的作者Randal L等人的付出。
这里是一个广告位,,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn