1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| sub search_cnx {
my ($ref_tab) = @_;
foreach my $f ( @{$ref_tab} ) {
my @a = split /\//, $f;
foreach my $r (@a) { print "$r"; }
my ( $inst_a, $port_a, $inst_b, $port_b ) = ( $a[0], $a[1], $a[2], $a[3] );
if ( ( $inst_a eq "Poo_inst" ) && ( $inst_b =~ m/inst/ ) ) {
my $ret = join( "/", $inst_a, $port_a, $inst_b, $port_b );
#print "$ret\n";
return $ret;
}
else {
foreach my $ff ( @{$ref_tab} ) {
my @aa = split /\//, $ff;
my ( $inst_aa, $port_aa, $inst_ab, $port_ab ) = ( $aa[0], $aa[1], $aa[2], $aa[3] );
if ( $inst_a eq "Poo_inst" ) {
if ( $inst_b =~ m/$inst_aa/i ) {
$ref_tab->[$ff] = join( "/", $inst_a, $port_a, $inst_aa, $port_ab );
search_cnx( $ref_tab );
}
}
elsif ( $inst_a =~ m/$inst_ab/i ) {
$ref_tab->[$ff] = join( "/", $inst_ab, $port_aa, $inst_b, $port_ab );
search_cnx( $ref_tab );
}
}
}
}
return;
} |
Partager