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
| sub search_cnx {
my $ref_tab = $_[0];
foreach my $f (@{$ref_tab}){
my @a = split (/\//, $f);foreach my $r(@a){print"$r";}
my ($inst_b, $port_b) = (@a[2],@a[3]);
my ($inst_a, $port_a) = (@a[0],@a[1]);
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_ab, $port_ab) = (@aa[2],@aa[3]);
my ($inst_aa, $port_aa) = (@aa[0],@aa[1]);
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});
}
}
}
}
} |
Partager