#!/usr/bin/perl use strict; my %record; while () { next if /^id/; my @a = split; $record{$a[2]}->{$a[0]} = $a[1]; } __DATA__ id name parent 1 data 0 2 data 1 3 data 1 4 data 3 5 data 4