Perl编程实例解析与实践

1、创建一个哈希,键为水果名称,值为它们的常见颜色,然后将每个键/值对作为单独的一行打印出来,格式类似于“香蕉是黄色的”。

以下代码是实现该功能的示例:

use strict;
use warnings;
use diagnostics;
my %color_for = ( 
    bananas => 'yellow', 
    apples =>'red', 
    oranges => 'orange',
);
for my $fruit (keys %color_for) {
    my $color = $color_for{$fruit};
    print "$fruit are $color\n";
}

2、从 @fahrenheit 数组创建 @celsius 数组。

要从 @fahrenheit 数组创建 @celsius 数组,需要将 @fahrenheit 数组中的每个华氏温度值转换为摄氏温度值。转换公式是先减去 32,然后乘以 5/9。可以使用以下代码实现:

my @fahrenheit = ( 0, 32, 65, 80, 212 );
my @celsius = map { ( $_ - 32 ) * 5 / 9 } @fahrenheit;

3、将数字 1 到 10 逐行打印。

在 Perl 中可以使用以下代码实现:

for (my $i = 1; $i <= 10; $i++) {
    print $i, "\n";
}

4、计算并打印@numbers数组中数字的平均值。

可以使用以下代码实现:

sub average {
    my @numbers = @_;
    my $total = 0;
    $total += $_ foreach @numbers;
    return $total / @numbers;
}

print average(qw< 1 5 18 3 5>);

此代码先定义一个 average 子例程,在子例程中计算总和并除以元素数量得到平均值,最后调用该子例程并打印结果。

5、修复 C 风格 for 循环中的越界错误,并展示使用 Perl 风格 for/foreach 循环的更好方法。

修复 C 风格 for 循环中的越界错误,需将循环终止条件从

$i <= $num_elements

改为

$i < $num_elements

更好的方法是使用 Perl 风格的 for / foreach 循环,示例代码如下:

my @array = qw( fee fie foe fum );
for my $word (@array) {
    print "$word";
}

这种循环能避免越界错误。

6、编写代码为 %stat_for 哈希中的键分配随机值,键为’strength’、’intelligence’、’dexterity’,随机值为 2 加上两个 1 到 6 的随机整数之和,且随机值不能小于 6,最后输出每个键及其对应的值。

my %stat_for;
my @stats = ('strength', 'intelligence', 'dexterity');

foreach my $stat (@stats) {
    my $random = 2 + int(rand(6)) + int(rand(6));
    redo if $random < 6;
    $stat_for{$stat} = $random;
}

print <<"END_CHARACTER";
Strength: $stat_for{strength}
Intelligence: $stat_for{intelligence}
Dexterity: $stat_for{dexterity}
END_CHARACTER

7、创建一个完整的代码,为 %stat_for 哈希中的键分配随机值,条件是该值至少为 6,并打印结果。

my %stat_for;
my @stats = ('strength', 'intelligence', 'dexterity');
foreach my $stat (@stats) {
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值