+ -
当前位置:首页 → 问答吧 → 有道题目问一下,原来是要求用shell实现的

有道题目问一下,原来是要求用shell实现的

时间:2011-06-30

来源:互联网

品牌     产品编号     价格
A           001             10
A           002             20
A           003             30
B           004             40
B           005             50
C           006             60
C           007             70

需要得到如下结果
A产品编号   A价格       B产品编号    B价格        C产品编号     C价格
001             10             004             40             006             60
002             20             005             50             007             70
003             30

我自己用perl写了一个实现,但是很差劲啦,没有使用什么算法什么的,所以我想问问,这题目用perl有什么方法实现。

作者: lynncate   发布时间: 2011-06-30

不要求代码,给思路就好。

作者: lynncate   发布时间: 2011-06-30

回复 lynncate


    我的思路,呵呵:
chomp
$_=~s/([^\s]+)\s(\w+)/
if (!(exists $hash1{$1}))
{$hash2{++$p}.=$2}
else
{$hash1{$1}}

END
print sort %hash2

作者: yinyuemi   发布时间: 2011-06-30