Struppi: Inhalt von zwei Dateien vergleichen

Beitrag lesen

so hatte ich mir das mit dem einlesen gedacht:

my $i = 0;
my $j = 0;
open(DATEI_1, "datei_1") || die "Datei nicht gefunden";

In $! steht der wirkliche Grund, warum das öffnen scheitert.
open(DATEI_1, "datei_1") || die "Kann Datei nicht öffnen, weil: $!";

foreach $inhalt_1 (@Zeilen_1) {
   ++$i;
   foreach $inhalt_2 (@Zeilen_2) {
      ++$j;
      if ( $inhalt_1[$i] =~ /$inhalt_2[$j]/ ) {

Du brauchst den Index gar nicht zumal er falsch ist.
$inhalt_1 und $inhalt_2 enthalten die aktuelle Zeile.

Einfacher wäre es aber nicht erst die ganze Datei einzulesen, zumal das u.U. viel Speicher verbrät, du könntest so direkt die Zeilenummer mit $. ermitteln.

Also in etwa so:
[code lang=perl]#!/usr/bin/perl -w

use strict;

open(DATEI_1, "datei_1") || die "Kann Datei nicht öffnen, weil: $!";
my @suchen = <DATEI_1>;
close(DATEI_1);

open(DATEI_2, "datei_2") || die "Kann Datei nicht öffnen, weil: $!";
while my $zeile(<DATEI_2>)
{
   foreach my $suche (@suchen)
   {
      # jedes Suchwort in der aktuellen Zeilen suchen
      if ( $zeile =~ /$suche/ )
      {
         print "$suche Gefunden in Zeile: $.\n";
      }
   }
}

  
  
Struppi.

-- 
[Javascript ist toll](http://javascript.jstruebig.de/)