Witam.
Jak, że dopiero raczkuje w Perlu prosiłbym o wskazówkę jak to dalej ugryźć.
Więc tak mam plik z logami który wygląda tak:
xxxxx yyyyy zzzzz IP1 kkkk IP2 iiii
Drugi plik to dane pobierane z pliku o strukturze
ip nazwa
Głownie chodzi mi o to, zeby pobierał IP z drugiego pliku i sprawdzał z pierwszym plikiem (kolumna 4). Jak jest to zamienia te IP na nazwe z pliku drugiego
na razie mam coś takiego
#!/usr/local/bin/perl
open(HOSTS, "<", "hosts") or die "Brak pliku ";
open(LOG , "<", "kl") or die "Brak pliku ";
open(EXIT , ">", "exit") or die "Brak pliku ";
@hosts=<HOSTS>;
@logi=<LOG>;
foreach $host (@hosts){
@a=split(" ", $host);
foreach $log (@logi){
@b=split(/\s+/, $log);
if ( @a[0] =~ /b[3]/ ){
print( @a[0] @b[3] ); # wpis tymczasowy, zeby zobaczyc czy jest OK
}
}
}
Czy idę w dobrym kierunku? Nie działa to do końca tak jak ma być. Dlatego proszę o helpa :)
Napisałem takie coś przy użyciu AWK, ale obrobienie pliku trwa około kilku godzin ;). Podobno w Perlu jest szybciej
Dzięki za pomoc