- 论坛徽章:
- 145
|
本帖最后由 jason680 于 2013-05-04 02:36 编辑
回复 1# sinian126
how about this ...
$ perl node.pl
$VAR1 = '0, 1, 3, 6';
$VAR2 = '0, 1, 4, 7';
$VAR3 = '0, 1, 4, 8';
$VAR4 = '0, 2, 4, 7';
$VAR5 = '0, 2, 4, 8';
$VAR6 = '0, 2, 5, 8';
$ cat node.pl
#! /usr/bin/env perl
use strict;
use warnings;
use Data::Dumper qw(Dumper);
my @aData;
while(<DATA>){
chomp;
my($sNode, $sNext) = split;
push @{$aData[$sNode]}, $sNext;
}
print Dumper(node_tree(0));
#print Dumper(node_tree(1));
sub node_tree{
my($sNode) = @_;
my @aNode;
if(!defined @{$aData[$sNode]}){
return $sNode;
}
foreach(@{$aData[$sNode]}){
foreach my $sNext(node_tree($_)){
push @aNode, "$sNode, $sNext";
}
}
return @aNode;
}
__DATA__
0 1
0 2
1 3
1 4
2 4
2 5
3 6
4 7
4 8
5 8
|
|