Hallo,
@inhalt = inhalt der datei;
if(@inhalt =~ /$suchmuster/) {
print "$suchmuster gefunden";
} else {
print "Nichts gefunden";
}
Zu allererst einmal: Eine Datei komplett einzulesen, ohne daß deren Inhalt weiter gebraucht wird, kann sehr resourcenverschwendend sein. In den meisten Fällen ist es einfahc nicht notwendig, die ganze Datei im Speicher zu halten.
Beispiel:
my $ausgabe = 'nichts gefunden';
while(<IN>)
{
if( /$suchmuster/)
{
$ausgabe = "$suchmuster gefunden";
last;
}
}
close IN;
print $ausgabe;
macht das gleiche, hat allerdings den Vorteil, bei einem Treffer die Datei gar nicht vollständig einlesen zu müssen.
Allerdings könnte es durchaus sein, daß DU wirklich den ganzen Inhalt brauchst, dann könntest Du auch statt der while-Schleife mit einer foreach-Schleife durch das Array durchgehen.
Auch ein Blick auf die Funktion grep könnte Dir weiterhelfen.
Grüße
Klaus