perl的魅力

perl的魅力,第1张

概述网上看到一道题,内容如下。123456      23           1000234567      34           1234345678      21           1234456789      45           4532234567      34           1233234567      34           123434567
网上看到一道题,内容如下。123456      23           1000234567      34           1234345678      21           1234456789      45           4532234567      34           1233234567      34           1234345678      21           3445其中第一列为ID号  第二列为级别   第三列为时间题目要求,写一个脚本处理文本,处理结果为第一列显示ID第二列过滤级别<30或者级别>40第三列显示内容为,若为相同的ID号,计算时间之和

总觉得这个题目有点问题,数据有点不对应,不多说了,直接上代码

#!/bin/env perl# -*- Coding: utf-8 -*-use strict;my %hash;while (<DATA>) {       chomp;       next if /^$|^#/;       my @array = split;       if ($array[1] < 30 || $array[1] > 40) {           push @{$hash{"$array[0]\t$array[1]\t"}},$array[2];       }}for my $num (sort keys %hash) {    my @a = @{$hash{$num}};    printf "%d",$num;    printf sum(\@a);    printf "\n";}sub sum {    my ($ref) = @_;    my $i = 0;    for (@$ref) {         $i += $_;    }    return $i;}__DATA__123456      23           1000234567      34           1234345678      21           1234456789      45           4532234567      34           1233234567      34           1234345678      21           3445

运行结果:

123456  23      1000345678  21      4679456789  45      4532
总结

以上是内存溢出为你收集整理的perl的魅力全部内容,希望文章能够帮你解决perl的魅力所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1275848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存