#! /local/bin/perl use strict; use warnings; my %degree; my $filename = "edges.txt"; open(my $fh, "<", $filename) or die "Can't open '$filename': $!"; while (<$fh>) { if (/(\S+)\t(\S+)/) { $degree{$1}++; $degree{$2}++; } } my %degree_distribution; $degree_distribution{$_}++ for values %degree; for my $id (sort keys %degree) { my $d = $degree{$id}; my $freq = $degree_distribution{$d}; print "$id has degree:\t$d\t(freq: $freq)\n"; }