Greetings,
First of all, if you are running the script as it appears below, no
result is being shown because all your print statements are commented
out.
Without running this script, I don't see any logic problems with it. It
should do what you intend.
A couple suggestions for improving performance:
1) Don't read the first file into @Uusi. Instead open the file and read
it line by line, handling each line as you read. This will reduce your
memory requirements by roughly half.
2) If you find a match in the two files, immediately exit the for() loop.
Continuing to compare the rest of the lines is meaningless since $Loytyi
has already been set to 1.
Ken
On 20030924 13:18:44 +0300, [EMAIL PROTECTED] wrote:
> Hello all!
>
> I have problems with comparing two big text files with eachother (~4Mb).
> the script reads (or tries to read) both files into @tables and compare
> them line by line after that, but no result is being shown. Script
> searches for new productcodes ($Urivi[3]).
>
> Is there any limit to @table size or what could be wrong?
>
>
> -------------------------------------
> //source:
>
> foreach $tmp (@Uusi) {
> $Loytyi = 0;
> @Urivi = split "\t", $tmp;
>
> for ($i=0; $i<=$Vanhankoko-1; ++$i) {
> @Vrivi = split "\t", $Vanha[$i];
>
> if ($Urivi[3] eq $Vrivi[3]) {
> #print "Tuotekoodit t?sm??\n";
> $Loytyi = 1;
> $i = $Vanhankoko;
> }
> } #end for
>
> if ($Loytyi == 0) {
> #print "$Urivi[4] $Urivi[3]\n";
> $temppi = $Uudettuotteet;
> $Uudettuotteet = $temppi."=".$Urivi[4]."_".$Urivi[3];
> $Loytyi = 0;
> }
> }
>
>
> _______________________________________________
> Perl-Unix-Users mailing list
> [EMAIL PROTECTED]
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-Unix-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs