close
#!/usr/bin/perl
$route_rule1_ref = analyze_route ("router.txt");
$route_rule2_ref = analyze_route ("router1.txt");
$route_rule2_ref = analyze_route ("router1.txt");
sub analyze_route
{
my ( $file ) = @_ ;
my @router_rules = ();
open ( R, "$file" );
{
my ( $file ) = @_ ;
my @router_rules = ();
open ( R, "$file" );
$line_count = 0;
while ( <R> )
{
chomp;
$whole_line = '';
while ( <R> )
{
chomp;
$whole_line = '';
if ( /^O.*\s$/ && $line_count == 0 )
{
$first_part = $_ ;
$line_count++ ;
}
elsif ( /^\s+?(\[.*)/ && $line_count == 1 )
{
$whole_line = $first_part.' '.$1 ;
$line_count = 0 ;
}
elsif ( /^O/ )
{
$whole_line = $_ ;
}
else
{
$whole_line = '' ;
$line_count = 0 ;
}
push ( @route_rules, $whole_line ) if $whole_line ;
}
close ( R );
return \@route_rules;
}
{
$first_part = $_ ;
$line_count++ ;
}
elsif ( /^\s+?(\[.*)/ && $line_count == 1 )
{
$whole_line = $first_part.' '.$1 ;
$line_count = 0 ;
}
elsif ( /^O/ )
{
$whole_line = $_ ;
}
else
{
$whole_line = '' ;
$line_count = 0 ;
}
push ( @route_rules, $whole_line ) if $whole_line ;
}
close ( R );
return \@route_rules;
}
foreach $rule ( @$route_rule1_ref )
{
foreach $rule1 ( @$route_rule2_ref )
{
last if $rule eq $rule1 ;
print "$rule\n" if ( $route_rule2_ref->[-1] eq $rule1 && $rule ne $rule1 );
}
}
{
foreach $rule1 ( @$route_rule2_ref )
{
last if $rule eq $rule1 ;
print "$rule\n" if ( $route_rule2_ref->[-1] eq $rule1 && $rule ne $rule1 );
}
}
來源:奇科電腦Ben老師 http://www.geego.com.tw
全站熱搜