Perl语言学习练习及参考答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#题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 " $str\n";

}

#*******************#

#题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 "$array\n";

}

#*******************#

#题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";

相关文档
最新文档