#!/usr/bin/perl use strict; use warnings; my $filename = $ARGV[0]; my $outFilename = $ARGV[1]; open OUTFILE, ">", $outFilename or die $!; open FILE, $filename or die $!; my $id; my $date; while() { my $line = $_; if($_ =~ /(.*?)\t+(.*?)\[/ ) { $id = $1; $date = $2; print OUTFILE "$id\t$date\n"; } my $key; my $i; my %HoA; push @{ $HoA{$id} }, $date; my $k; foreach $k (keys %HoA) { print "$k\n\t"; foreach (@{$HoA{$k}}) { print " $_"; } print "\n"; } }