This seems to work:<div><br></div><div><span style>This seems to work:</span></div><div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif"><br></font><div style>

> perl <a href="http://create_hier.pl/" target="_blank" style="color:rgb(17,85,204)">create_hier.pl</a> small.txt 11 10 12</div><div style><br></div><div style><div>use strict;</div><div>use Data::Dumper;</div><div><br>

</div><div>my %h;</div><div>$h{ROOT} = {};</div><div><br></div><div>my @i = splice @ARGV, 1, $#ARGV;<span style="white-space:pre-wrap">   </span># remove the indexes from command line</div><div><br></div><div>while (<>) {</div>

<div><br></div><div><span style="white-space:pre-wrap"> </span>my @f = split(/\|/);</div><div><span style="white-space:pre-wrap">     </span>my $p = $h{ROOT};</div><div><br></div><div><span style="white-space:pre-wrap">       </span>foreach my $i (@i) {</div>

<div><br></div><div><span style="white-space:pre-wrap">         </span>my $key = $f[$i];</div><div><br></div><div><span style="white-space:pre-wrap">               </span>if (! exists $p->{$key}) {</div><div><span style="white-space:pre-wrap">                    </span>$p->{$key} = {};</div>

<div><span style="white-space:pre-wrap">          </span>}</div><div><br></div><div><span style="white-space:pre-wrap">               </span>$p = $p->{$key};</div><div><br></div><div><span style="white-space:pre-wrap">     </span>}<span style="white-space:pre-wrap">       </span></div>

<div>}</div><div><br></div><div>print Dumper %h;</div><div><br></div><div>my $counter = 0;</div><div>unwrap($counter, \%h);</div><div><br></div><div>sub unwrap {</div><div><br></div><div><span style="white-space:pre-wrap">        </span>my ($parent, $hash) = @_;</div>

<div><br></div><div><span style="white-space:pre-wrap"> </span>foreach my $key (keys %$hash) {</div><div><span style="white-space:pre-wrap">          </span>$counter++;</div><div><span style="white-space:pre-wrap">              </span>print join("\t", $counter, $parent, $key), "\n";</div>

<div><span style="white-space:pre-wrap">          </span>unwrap( $counter, $hash->{$key});</div><div><span style="white-space:pre-wrap">     </span>}</div><div>}</div><div><br></div><div><div>Giving me output like (I shortened it due to the size):</div>

<div><br></div><div><div>$VAR1 = 'ROOT';</div><div>$VAR2 = {</div><div>          'LA' => {</div><div>                    'WALKER' => {</div><div>                                  '70785' => {}</div>

<div>                                },</div><div>                    'BOUTTE' => {</div><div>                                  '70039' => {}</div><div>                                },</div><div>                    'RAYNE' => {</div>

<div>                                 '70578' => {}</div><div>                               },</div><div>                    'BATON ROUGE' => {</div><div>                                       '70805' => {}</div>

<div>                                     }</div><div>                  },</div></div></div><div>....</div><div><div>          'NV' => {</div><div>                    'LAS VEGAS' => {</div><div>                                     '89149' => {},</div>

<div>                                     '89104' => {}</div><div class="im" style="color:rgb(80,0,80)"><div>                                   }</div><div>                  },</div><div>          'OR' => {</div>

<div>                    'WARRENTON' => {</div></div><div>                                     '97146' => {}</div><div>                                   },</div><div>                    'SALEM' => {</div>

<div>                                 '97305' => {},</div><div>                                 '97302' => {},</div><div>                                 '97301' => {}</div><div>                               }</div>

<div>                  }</div><div>        };</div><div>1<span style="white-space:pre-wrap">      </span>0<span style="white-space:pre-wrap">       </span>ROOT</div><div>2<span style="white-space:pre-wrap">    </span>1<span style="white-space:pre-wrap">       </span>LA</div>

<div>3<span style="white-space:pre-wrap"> </span>2<span style="white-space:pre-wrap">       </span>WALKER</div><div>4<span style="white-space:pre-wrap">  </span>3<span style="white-space:pre-wrap">       </span>70785</div><div>5<span style="white-space:pre-wrap">   </span>2<span style="white-space:pre-wrap">       </span>BOUTTE</div>

<div>6<span style="white-space:pre-wrap"> </span>5<span style="white-space:pre-wrap">       </span>70039</div><div>7<span style="white-space:pre-wrap">   </span>2<span style="white-space:pre-wrap">       </span>RAYNE</div><div>8<span style="white-space:pre-wrap">   </span>7<span style="white-space:pre-wrap">       </span>70578</div>

<div>9<span style="white-space:pre-wrap"> </span>2<span style="white-space:pre-wrap">       </span>BATON ROUGE</div><div>10<span style="white-space:pre-wrap">    </span>9<span style="white-space:pre-wrap">       </span>70805</div></div>

<div>...</div><div><div>219<span style="white-space:pre-wrap">  </span>1<span style="white-space:pre-wrap">       </span>NV</div><div>220<span style="white-space:pre-wrap">    </span>219<span style="white-space:pre-wrap">     </span>LAS VEGAS</div>

<div>221<span style="white-space:pre-wrap">       </span>220<span style="white-space:pre-wrap">     </span>89149</div><div>222<span style="white-space:pre-wrap"> </span>220<span style="white-space:pre-wrap">     </span>89104</div><div>

223<span style="white-space:pre-wrap">  </span>1<span style="white-space:pre-wrap">       </span>OR</div><div>224<span style="white-space:pre-wrap">    </span>223<span style="white-space:pre-wrap">     </span>WARRENTON</div><div>225<span style="white-space:pre-wrap">     </span>224<span style="white-space:pre-wrap">     </span>97146</div>

<div>226<span style="white-space:pre-wrap">       </span>223<span style="white-space:pre-wrap">     </span>SALEM</div><div>227<span style="white-space:pre-wrap"> </span>226<span style="white-space:pre-wrap">     </span>97305</div><div>

228<span style="white-space:pre-wrap">  </span>226<span style="white-space:pre-wrap">     </span>97302</div><div>229<span style="white-space:pre-wrap"> </span>226<span style="white-space:pre-wrap">     </span>97301</div></div><div>

<br></div></div></div>