数组作为hash元素的时候如何push
2024-08-27 14:13:59
#######################################################################
# Copyright (C) 2015 All rights reserved.
#
# 文件名称:p.pl
# 创 建 者:
# 创建日期:2015年05月11日
# 描 述:
#
# 备 注:
#
######################################################################### use strict;
use warnings;
use Time::HiRes;
# please add your code here!
my $tmStarted=Time::HiRes::time;
if ( != scalar @ARGV)
{
&PrintUsage();
exit ;
}
=pod
Subroutine(s);
=cut
sub PrintUsage
{
print STDERR "perl program.pl [IN] ref_file [IN] input_file [OUT] output_file\n";
}
my $line = "";
my $linecount = ;
my %hash = ();
open FIN, "<$ARGV[0]" or die "can not open inputfile:$!\n";
open FOUT, ">$ARGV[1]" or die "can not create outputfile :$!\n";
while(defined($line=<FIN>))
{
chomp $line;
my @vec = split /\t/, $line;
my $size = scalar @vec;
if ($size < )
{
print STDERR "$line\n";
}
if (not defined($hash{$vec[]}))
{
my @vectemp = ();
push @vectemp, $vec[];
$hash{$vec[]} = \@vectemp;
}
else
{
push @{$hash{$vec[]}}, $vec[];
} }
close FIN;
foreach my $key (keys%hash)
{
my @vec2 = @{$hash{$key}};
my $size = scalar @vec2;
my $part = "";
for (my $i = ; $i <$size; $i++)
{
$part.=$vec2[$i];
if ($i < $size - )
{
$part.=",";
}
}
print FOUT "$key\t$part\n";
}
close FOUT;
print STDERR "$0 has finished,congratulations!\n";
print STDERR "Time elapsed:".(Time::HiRes::time-$tmStarted)."\n";
最新文章
- 每天写点python
- js点击空白处弹窗消失
- TColor 与 RGB 的转换函数
- nginx+tomcat+java部署总结
- masterha_check_repl报错汇总
- [selenium webdriver Java]使用自定义条件同步测试
- [置顶] MapReduce 编程之 倒排索引
- cocos2dx进阶学习之CCNode
- 运用mapreduce计算tf-idf
- jumpserver安装详解
- 浏览器抓包(post)
- Android ClassLoader详解
- java练习:质数,匿名内部类创建接口,抽象类派生子类,画圆,字节截取字符串,数字变钱币,五子棋,梭哈
- python 基础 01
- linux基础练习题(1)
- Java类加载机制及自定义加载器
- Django模版语言自定义标签-实现前端 关联组合过滤查询
- 关于“代码规范”,“Review”和“Check list”(续)
- Git(四)Git的分支管理
- django项目的配置文件settings.py详解