Flockyflo
Lieutenant
- Registriert
- Okt. 2008
- Beiträge
- 977
Hi, ich hab hier ein kleines Problem:
So, was will ich machen:
In dem Logfile stehen IP Adressen und daneben der Status des jeweiligen Computers
Bsp.: 127.0.0.1 -- online
Ich will es jetzt so auslesen können, das der Counter pro Zeile in der on oder off steht, sich 1 erhöht und am Ende das Ergebnis ausgegeben wird.
Das Problem ist, das mein Skript derzeit alle Zeilen zusammen zählt (derzeit 13 Zeilen) und am Ende zurück gibt, das es 13 PCs sind die an, aus und undefinierbar sind.
Das andere Problem:
Wenn ich $_ = nehme, meckert er herum, das ich lieber $_ == nehmen sollte. Wenn ich das mache, meckert er das die Wörter hinter dem == nicht nummerisch sind (was verständlich ist).
Ich denke mal das hier der Fehler liegt, jedoch weiss ich leider keine Lösung für mein Problem
Vll kann mir ja einer von euch weiterhelfen, wäre super. Danke
Code:
my $logfile = [blablablub unwichtig :) ]
my @mystat;
my $oncnt = 0;
my $offcnt = 0;
my $nacnt = 0;
open LOGFILE, '<', $logfile or die "Kann Datei $logfile nicht zum Schreiben oeffnen: $!\n";
@mystat = <LOGFILE>;
foreach (@mystat)
{
chomp(@mystat);
if ($_ = 'online')
{
$oncnt++;
}
if ($_ = "offline")
{
$offcnt++;
}
if ($_ = "undefinierbare Zuweisung:")
{
$nacnt++;
}
}
print "$oncnt Computer sind online\n";
print "$offcnt Computer sind offline\n";
print "$nacnt undefinierbare Zuweisungen\n";
close LOGFILE;
So, was will ich machen:
In dem Logfile stehen IP Adressen und daneben der Status des jeweiligen Computers
Bsp.: 127.0.0.1 -- online
Ich will es jetzt so auslesen können, das der Counter pro Zeile in der on oder off steht, sich 1 erhöht und am Ende das Ergebnis ausgegeben wird.
Das Problem ist, das mein Skript derzeit alle Zeilen zusammen zählt (derzeit 13 Zeilen) und am Ende zurück gibt, das es 13 PCs sind die an, aus und undefinierbar sind.
Das andere Problem:
Wenn ich $_ = nehme, meckert er herum, das ich lieber $_ == nehmen sollte. Wenn ich das mache, meckert er das die Wörter hinter dem == nicht nummerisch sind (was verständlich ist).
Ich denke mal das hier der Fehler liegt, jedoch weiss ich leider keine Lösung für mein Problem
Vll kann mir ja einer von euch weiterhelfen, wäre super. Danke