admin 管理员组文章数量: 1184232
2024年3月9日发(作者:大数据可视化技术有哪些)
#题2:
#使用for循环打印出如下的字符。
# 1
# 12
# 123
# 12345
#*******************#
Fw_Print_Step ($step++,"使用for循环打印出如下的字符。
1
12
123
12345");
my $str= "";
for (1..4) {
$str= $str.$_;
if ($_==4) {
$str= $str.$_+1;
}
print " $strn";
}
#*******************#
#题3:
my $str1 = "abc";
my $str2 = "efg";
#将上述2个字符串连接起来,并输出合并后的字符串长度
#*******************#
Fw_Print_Step ($step++,"将上述2个字符串"$str1"和"$str2"连接起来,并输出合并后的字符串长度");
my $str =$str1.$str2;
my $str_length=length($str);
print "新字串$str的长度为:$str_length";
#*******************#
#题4:
#以逆序方式打印出字符串包含的各个字符,如变量为"123456789"则输出为"9","8",..."2","1".
my $str1="abc123def456";
#*******************#
Fw_Print_Step ($step++,"以逆序方式打印出字符串包含的各个字符,如变量为"123456789"则输出为"9","8",..."2","1".");
my $str=$str1;
print "以逆序方式打印出字符串"$str1"包含的各个字符:n";
for($length=length($str1); $length>0; $length--) {
$sub_str=chop($str);
if ($length>1) {
print ""$sub_str",";
} else {
print ""$sub_str".";
}
}
#*******************#
#题5:
#分别使用for与while循环来计算1+2+3+...+100的值
#*******************#
Fw_Print_Step ($step++,"分别使用for与while循环来计算1+2+3+...+100的值");
print "用for循环计算1+2+3+...+100的值:n ";
my $result=0;
for (1..100) {
$result=$result+$_;
}
print "1+2+3+...+100=$result";
print "n用while循环计算1+2+3+...+100的值:n ";
my $result=0;
my $num=1;
while ($num<=100) {
$result=$result+$num;
$num++;
}
print "1+2+3+...+100=$result";
#*******************#
#题6:
#以逆序的方式打印出端口列表包含的成员口
my @cmdArray = ("config", "int fa 0/1", "no shutdonw", "end");
#*******************#
Fw_Print_Step ($step++,"以逆序的方式打印出端口列表包含的成员口");
for (my $start=$#cmdArray; $start>=0; $start--) {
my $array=$cmdArray[$start];
print "$arrayn";
}
#*******************#
#题7:
#使用foreach打印出Hash表的所有下标与值
my %map = ('red', 0xff0000,'green', 0x00ff00,'blue',0x0000ff);
#*******************#
Fw_Print_Step ($step++,"使用foreach打印出Hash表的所有下标与值");
foreach $capword (sort keys(%map)) {
print ("$capword: $map{$capword}n");
}
#while( ($key, $value) = Each (%Map)) {
# Print "N$key=$value;"}
#*******************#
#题8:
#使用正则匹配判断字符串是否包含error,若是打印提示信息。
my $str = "Error:Unknown command!";
#*******************#
Fw_Print_Step ($step++,"使用正则匹配判断字符串是否包含error,若是打印提示信息。");
if ($str =~ /error/i) {
print "The string include "error"";
} else {
print "The string no include "error"";
}
#*******************#
#题9:
#按照如下的函数定义写出该函数
#===============================================================================#
# 函数名: SetPortGroup
# 函数功能:将DUT_PORT划分为端口列表,每个列表的端口速率必须相同(根据fa/gi进行判断),且2<=列表端口个数<=5
# 输入参数:DUT_PORT数组名
# 返回信息:端口列表
#===============================================================================#
#设置DUT参与测试的端口数
my @DUT_PORT;
$DUT_PORT[0]=5;
#设置DUT的端口,端口号以gi 0/1、gi 2/1等形式来表示
$DUT_PORT[1]="fa 0/1";
$DUT_PORT[2]="fa 0/2";
$DUT_PORT[3]="fa 0/3";
$DUT_PORT[4]="fa 0/4";
$DUT_PORT[5]="fa 0/5";
$DUT_PORT[6]="fa 0/6";
$DUT_PORT[7]="fa 0/7";
$DUT_PORT[8]="fa 0/8";
$DUT_PORT[9]="fa 0/9";
$DUT_PORT[10]="gi 0/10";
$DUT_PORT[11]="gi 1/1";
$DUT_PORT[12]="gi 1/2";
$DUT_PORT[13]="gi 1/3";
$DUT_PORT[14]="gi 1/4";
$DUT_PORT[15]="gi 1/5";
$DUT_PORT[16]="gi 1/6";
$DUT_PORT[17]="gi 1/7";
$DUT_PORT[18]="gi 1/8";
#调用SetPortGroup函数实现对DUT_PORT的分组
#*******************#
Fw_Print_Step ($step++,"按照如下的函数定义写出该函数.
#=======================================================#
# 函数名: SetPortGroup
# 函数功能:将DUT_PORT划分为端口列表,每个列表的端口速率必须相同(根据fa/gi进行判断),且2<=列表端口个数<=5
# 输入参数:DUT_PORT数组名
# 返回信息:端口列表
#========================================================#");
sub SetPortGroup {
my @dutPort=@_;
my @portList="";
#统计FA端口的数目
my $fa_num=0;
print "将DUT_PORT数组中的端口转换为列表的形式:n";
for ($i=1;$i<=$dutPort[0];$i++) {
@portList=(@portList,"$dutPort[$i]");
}
for (0..$#portList) {
print "$portList[$_]n";
}
print "n-------------------------------------------------------n";
print "判断每个列表的端口速率是否相同n";
for ($i=1;$i<=$#portList;$i++) {
my $speed=$portList[$i];
if ($speed=~/fa/i) {
print "端口 $portList[$i] 的速率为 100Mbpsn";
$fa_num++;
} else {
print "端口 $portList[$i] 的速率为 1000Mbpsn";
}
}
print "n-------------------------------------------------------n";
if ($#portList < 2) {
print "FAIL:测试端口不少于2个";
@portlist="";
} elsif ($#portList > 5) {
print "FAIL:测试端口不超过5个";
@portlist="";
} elsif ($fa_num==0||$#portList==$fa_num) {
print "PASS:列表的端口速率相同.";
} else {
print "FAIL:列表的端口速率不相同";
@portlist="";
}
return @portList;
}
SetPortGroup @DUT_PORT;
==========================
题1:比较变量int1与int2的大小,并打印出比较结果
==========================
变量int1=2,int2=10
比较结果:2 < 10
==========================
题2:使用for循环打印出如下的字符。
1
12
123
12345
==========================
1
12
123
12345
==========================
题3:将上述2个字符串"abc"和"efg"连接起来,并输出合并后的字符串长度
==========================
新字串abcefg的长度为:6
==========================
题4:以逆序方式打印出字符串包含的各个字符,如变量为"123456789"则输出为"9","8",..."2","1".
==========================
以逆序方式打印出字符串"abc123def456"包含的各个字符:
"6","5","4","f","e","d","3","2","1","c","b","a".
==========================
题5:分别使用for与while循环来计算1+2+3+...+100的值
==========================
用for循环计算1+2+3+...+100的值:
1+2+3+...+100=5050
用while循环计算1+2+3+...+100的值:
1+2+3+...+100=5050
==========================
==========================
题6:以逆序的方式打印出端口列表包含的成员口
==========================
end
no shutdonw
int fa 0/1
config
==========================
题7:使用foreach打印出Hash表的所有下标与值
==========================
blue: 255
green: 65280
red: 16711680
==========================
题8:使用正则匹配判断字符串是否包含error,若是打印提示信息。
==========================
The string include "error"
==========================
题9:按照如下的函数定义写出该函数.
#=======================================================#
# 函数名: SetPortGroup
# 函数功能:将DUT_PORT划分为端口列表,每个列表的端口速率必须相同(根据fa/gi进行判断),且2<=列表端口个数<=5
# 输入参数:DUT_PORT数组名
# 返回信息:端口列表
#========================================================#
==========================
将DUT_PORT数组中的端口转换为列表的形式:
fa 0/1
fa 0/2
fa 0/3
fa 0/4
fa 0/5
-------------------------------------------------------
判断每个列表的端口速率是否相同
端口 fa 0/1 的速率为 100Mbps
端口 fa 0/2 的速率为 100Mbps
端口 fa 0/3 的速率为 100Mbps
端口 fa 0/4 的速率为 100Mbps
端口 fa 0/5 的速率为 100Mbps
-------------------------------------------------------
PASS:列表的端口速率相同.
版权声明:本文标题:Perl语言学习练习及参考答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1709970237a551666.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论