#!/usr/bin/perl use strict; use warnings; use Data::Dumper; # Assuming these are [ in, out ] my @travel_times = ( [ 1, 5 ], [ 2, 5 ], [ 20, 15 ], ); my %count; foreach my $time (@travel_times) { $count{in }{ $time->[0] }++; $count{out}{ $time->[1] }++; } print Dumper \%count;