Możliwe że to błahostka (nie jestem najbieglejszy w Perlu) ale nie mogę znaleźć rozwiązania i doprowadza mnie to już do szału.
Dlaczego to działa:
Kod: Zaznacz cały
#!/usr/bin/perl
use File::Tail;
$name = "/var/log/syslog";
my $ref = tie *FH,"File::Tail",(name=>$name, maxinterval=>3, adjustafter=>3);
while (<FH>) {
@tabela = split(/\|/, $_);
print "@tabela";
}
Kod: Zaznacz cały
#!/usr/bin/perl
use File::Tail;
$name = "/var/log/syslog";
my $ref = tie *FH,"File::Tail",(name=>$name, maxinterval=>3, adjustafter=>3);
while (<FH>) {
@tabela = split(/\|/, $_);
print "$tabela[0]";
}
Jak bym nie próbował to nie mogę wewnątrz pętli przypisać rozdzielonych jakimś znakiem wpisów z Tail'a do tabeli.
Próbowałem też z innym przykładem opisywanym w man'ie File::Tail :
Kod: Zaznacz cały
use File::Tail;
$file=File::Tail->new(name=>$name, maxinterval=>3, adjustafter=>3);
while (defined($line=$file->read)) {
@tabela = split(/\|/, $line);
print "$tabela[0]";
}
Próbowałem też troszkę inaczej:
Kod: Zaznacz cały
#use File::Tail;
$name = "/var/log/syslog";
my $ref = tie *FH,"File::Tail",(name=>$name, maxinterval=>3, adjustafter=>3);
while (my $zmienna = <FH>) {
@tabela = split(/\|/, $zmienna);
print "$tabela[0]";
}
Potrzebuje te dane pobrane i podzielone w array'u wsadzić do mysql'a i niestety utkwiłem w tym miejscu.
Bardzo proszę o pomoc
Pozdrawiam.
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
EDIT:
Taka wersja działa:
#!/usr/bin/perl
use File::Tail;
$name = "/var/log/syslog";
$file=File::Tail->new(name=>$plik, maxinterval=>3, adjustafter=>3);
while (defined($line=$file->read)) {
@tabela = split(/\ /, $line);
print "$tabela[0]\n";
}
Pozdrawiam!