Hi,
This is the script that I wrote using the Gupta approached. However, I
received error when I run it. The goal is to get three output file. One
is contains all the pin matched from array 1 to array 2, the second one
is the elements from array 1 that don't match any elements from array 2
and third file is elements from array 2 that don't match any elements
from array 1. Can some one help me to debug it. Thanks in advance!
#!/usr/bin/perl -w
use strict;
my $infile = "port_dir_net_list.txt";
my $infile1 =$ARGV[0];
open IN, "$infile" or die $!;
open INJ, "$infile1" or die $!;
open (OUT, "> data.out") || die $!;
open (OUTE,"> error-layout.out")|| die $!;
open (OUTF,"> error-netlist.out")|| die $!;
my @content=<IN>;
my @modify=<INJ>;
close(IN);
close(INJ);
foreach my $mod (@modify){
if($mod=~s/pin/pin/g){
if($mod=~s/VCC/VCC/g){}
elsif($mod=~s/VSS/VSS/g){}
else{
my @ml=split(/\s+/, $mod);
$ml[1]=~s/\"//g;
push @sre,$ml[1];
}
}
else{}
}
print OUT 'Layout Netlist';
print OUT "\n";
print OUTE 'Layout Error Pin';
print OUTE "\n";
print OUTF 'Netlist not matched pin';
print OUTF "\n";
@[EMAIL PROTECTED];
@[EMAIL PROTECTED];
foreach my $item (@content) {
my $check=$item;
$check=~s/\[//g;
$check=~s/\]//g;
chomp($check);
foreach my $test (@sre){
chomp($test);
if($check eq $test){
print OUT "$test $check \n";
}
else{}
}
}
foreach my $element (@content){
print OUTF "$element if(!grep{$element} @sre)";
}
foreach my $mu (@sre){
print OUTE "$mu if(!grep{$mu} @content)";
}
close(OUT);
close(OUTE);
close(OUTF);
Best regards,
ABC
-----Original Message-----
From: Gupta, Sharad [mailto:[EMAIL PROTECTED]
Sent: Saturday, June 14, 2003 12:37 PM
To: Boon Chong Ang; [EMAIL PROTECTED]
Subject: RE: compare, checking and listing
One way:
To find out elements which are in test2 and not in test1:
#!-*-perl-*-<ur perl path>
use strict;
my @test1 = qw(1 2 3 4);
my @test2 = qw(1 2 5 6 7 8);
foreach my $element(@test2) {
print $element if([EMAIL PROTECTED]);
}
-Sharad
-----Original Message-----
From: Boon Chong Ang [mailto:[EMAIL PROTECTED]
Sent: Friday, June 13, 2003 9:19 PM
To: [EMAIL PROTECTED]
Subject: compare, checking and listing
Hi,
I have two array, @test1, @test2. Just say, I want compare @test2 with
@test1 in such manner. @test2 could contains more, less or equal
elements compare to @test1 which I don't know.
I want to write a perl script to compare @test2 to @test1 and list out
those element within @test2 that is not represent within @ test1 and
those elements within @test1 that has not found the match from the
@test2
How do I accomplish such task efficiently?
Thank you & best regards,
ABC