in reply to Re^2: Depth First Search
in thread Depth First Search
Or more like this?
#! perl -slw use strict; use threads; sub traverse { my $href = shift; $_->join for map async{ print "Chapter $_ started"; my $v = $href->{ $_ }; ref( $v ) eq 'HASH' and traverse( $v ); sleep 1; print "Chapter $_ finished"; }, keys %$href; } my %document = ( '1' => { '1.1' => 'xxx', '1.2' => { '1.2.1' => 'xxx', '1.2.2' => ' +xxx' } }, '2' => { '2.1' => { '2.1.1' => 'xxx' } } ); traverse( \%document ); __END__ C:\test>1169475 Chapter 1 started Chapter 2 started Chapter 1.1 started Chapter 1.2 started Chapter 2.1 started Chapter 1.2.2 started Chapter 1.2.1 started Chapter 2.1.1 started Chapter 1.1 finished Chapter 1.2.2 finished Chapter 1.2.1 finished Chapter 2.1.1 finished Chapter 1.2 finished Chapter 2.1 finished Chapter 1 finished Chapter 2 finished
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Depth First Search
by gbar (Initiate) on Aug 10, 2016 at 15:58 UTC | |
by BrowserUk (Patriarch) on Aug 10, 2016 at 20:00 UTC |