在perl中从命令行创建一个哈希

时间:2012-09-13 09:08:45

标签: perl

我有一个包含以下数据的文件:

4  1
7  12
2  5
4  4
6  67
12  5

通过命令行我可以将每一行拆分成如下所示的数组:

perl -F'\s+' -ane 'print $F[0]' file

因此将打印所有第一个字段。 现在,上面的命令将每一行转换为一个数组。 以类似的方式可以完成这一行,创建一个带有键作为第一个字段的哈希值,每个键的值是第二个字段。?

2 个答案:

答案 0 :(得分:4)

试试这个:

perl -MData::Dumper -ane '$X{$F[0]}=$F[1]}{print Dumper \%X' file

答案 1 :(得分:2)

是的,可以做到。

perl -MData::Dumper -e '%a = map { (split)[0,1] } <ARGV>;print Dumper \%a' dt.txt