comparision of two files

Reply

Join Date: Sep 2006
Posts: 3
Reputation: RAGHAVENDRAS is an unknown quantity at this point 
Solved Threads: 0
RAGHAVENDRAS RAGHAVENDRAS is offline Offline
Newbie Poster

comparision of two files

 
0
  #1
Oct 10th, 2006
Hi Friends,

I am writing a script to compare two files put in two arrays and I expect the those elements which are found in array2 that are not in array1. here there are 2 files Perf.txt which contains some names, and Neu.txt contains some names which are common as well as some different names. Now I am interested only in different names that are not present in Perf.txt

My script:

open (PERF, "Perf.txt");
open (DSA, "Neu.txt");

@Perf = <PERF>;
@Neu = <DSA>;
my %seen; # lookup table

# build lookup table
@seen{@Neu} = ();

foreach $item (@Perf)
{
# print ($item) unless exists $seen{$item};
push (@miss, $item) unless exists $seen{$item};
}

foreach(@miss)
{
print "\nElement found ---> $_";
}

When I execute this I am getting all the names which are present in Neu.txt.
Please suggest me what I am wrong.

Thanks and Regards,
Raghavendra S
Reply With Quote Quick reply to this message  
Join Date: Mar 2006
Posts: 898
Reputation: KevinADC has a spectacular aura about KevinADC has a spectacular aura about 
Solved Threads: 67
KevinADC's Avatar
KevinADC KevinADC is offline Offline
Practically a Posting Shark

Re: comparision of two files

 
0
  #2
Oct 10th, 2006
open (PERF, "Perf.txt") or die "can't open perf.txt: $!";
open (DSA, "Neu.txt") or die "Can't open neu.txt: $!";

chomp(@Perf = <PERF>);
chomp(@Neu = <DSA>);
my %seen; # lookup table

# build lookup table
@seen{@Neu} = ();

foreach $item (@Perf)
{
# print ($item) unless exists $seen{$item};
push (@miss, $item) unless exists $seen{$item};
}

foreach(@miss)
{
print "\nElement found ---> $_";
}
Reply With Quote Quick reply to this message  
Join Date: Apr 2007
Posts: 1
Reputation: Sandi is an unknown quantity at this point 
Solved Threads: 0
Sandi Sandi is offline Offline
Newbie Poster

Re: comparision of two files

 
0
  #3
Apr 2nd, 2007
#!/usr/bin/perl:mrgreen:

use Algorithm:iff qw(diff);

bag("Usage: $0 oldfile newfile") unless @ARGV == 2;

my ($file1, $file2) = @ARGV;

# -f $file1 or bag("$file1: not a regular file");
# -f $file2 or bag("$file2: not a regular file");

-T $file1 or bag("$file1: binary");
-T $file2 or bag("$file2: binary");

open (F1, $file1) or bag("Couldn't open $file1: $!");
open (F2, $file2) or bag("Couldn't open $file2: $!");
chomp(@f1 = <F1>);
close F1;
chomp(@f2 = <F2>);
close F2;

$diffs = diff(\@f1, \@f2);
exit 0 unless @$diffs;

foreach $chunk (@$diffs) {

foreach $line (@$chunk) {
my ($sign, $lineno, $text) = @$line;
printf "%4d$sign %s\n", $lineno+1, $text;
}
print "--------\n";
}
exit 1;

sub bag {
my $msg = shift;
$msg .= "\n";
warn $msg;
exit 2;
}
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC