in reply to Reorganizing the content of a file
Output:use strict; use warnings; use feature 'say'; my %tree; while (<DATA>) { chomp; my ($id, $pid, $name) = split /,/; $tree{$id} = {pid => $pid, name => $name}; } for my $id (sort keys %tree) { my @parent_list; my $temp_id = $id; while (exists $tree{$temp_id}) { push @parent_list, $tree{$temp_id}{name}; $temp_id = $tree{$temp_id}{pid}; } say join ",", @parent_list; } __DATA__ 15,10,name3 10,#,name1 12,10,name2 5,12,name4 8,5,name5
name1 name2,name1 name3,name1 name4,name2,name1 name5,name4,name2,name1
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Reorganizing the content of a file
by haj (Vicar) on Dec 18, 2018 at 18:37 UTC | |
by Laurent_R (Canon) on Dec 18, 2018 at 19:00 UTC | |
by ovedpo15 (Pilgrim) on Dec 20, 2018 at 00:27 UTC | |
by tybalt89 (Monsignor) on Dec 20, 2018 at 03:11 UTC | |
by Laurent_R (Canon) on Dec 20, 2018 at 09:06 UTC |