加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

PERL中的流程控制

发布时间:2020-12-16 00:06:49 所属栏目:大数据 来源:网络整理
导读:先不说了,只是我的学习笔记,所以呢,在这里只是列出代码,并写下自己的心得 $input=undef; $inputCount=1; do { $_=STDIN; if($_ eq "adminn") { print "welcome home my lordn"; $input="hehe"; } else { print "please try againn"; ; } }until(defin

先不说了,只是我的学习笔记,所以呢,在这里只是列出代码,并写下自己的心得

$input=undef;
$inputCount=1;
do
{
$_=<STDIN>;

if($_ eq "adminn")
{
print "welcome home my lordn";

$input="hehe";
}
else
{
print "please try againn";
;
}

}until(defined($input));

@array=qw(1 2 3 4 5);

foreach my $bu(@array)
{
$_=<STDIN>;

if($_ eq "adminn")

{

print "hehe the answer has gotn";
last;
}
else
{
$inputCount++;
}
}
print "you have input $inputCountn";

不使用do while循环了,在这儿我们使用do until循环当条件成立时,设置标志,本次循环完成时会进行检测until中的标志性变量,即成功

然后呢foreach循环呢,别的不再说了,只是有一点,break好像不再适用了,但可是应该使用last语句进行跳出循环

钻石操作符

<>该操作符将会从制定的位置读取变量,当然默认的情况(不添加参数的情况下被当做是标准输入设备,即<>是<STDIN>的特例)

while(<>)
{
chomp;

print "you have input ". $_;

}

钻石操作符实际上是来自@ARGV的,该数组是来自由PERL解释器事先建立的数组其内容就是由调用参数组成的列表,只是在程序运行之前@ARGV里已经装满了调用参数。你

可以把元素shift出去(呵呵,或者做些其他的处理),钻石操作符会查看数组,笔者已经尝试过,默认情况下,当@ARGV是空的。钻石操作符就会从键盘上输入

@array=qw(1 2 3 4);

print "@array";#也就是说数组在内插输出时会自动加上空格输出

print @array;

@array=("1n","2n","3n","4n");

print ?@array;

print "@array";

经过查看结果我们能知道如果直接使用print @array时,它输出的是数组元素的值,中间不加任何字符,但如果@array作为的是双引号内的输出时,则会在元素之间添加上空格

进行输出,这是其一,另外如果数组元素中已经包含了换行字符的话,那么在第二行会有缩进效果,因为我们知道数组在双引号内的输出,会在元素之间天加上空格输出,既有

了缩进,在这种情况下,就不要再使用双引号内的内插输出了,直接输出即可

对于print操作符,在没有小括号的时候()只列表操作符,会将其后的内容全部输出,但是如果有了括号,那就是函数调用了,有其一定的规则

print (2+3)*4;

print ((2+3)*5);

第一个输出的是5,因为print后面有了括号,即在输出5之后返回1,然后再用1*4得到的是4,但是4在后面并没有用到,随之丢弃,

而在第二个,print ((2+3)*5),小括号中的小括号,则是限定了里面的运算,所以能够得到正确的结果

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读