Zmienne z tekstu w Perlu

0

Witam, nie mogę znaleźć przykładu jak utworzyć zmienną z pliku tekstowego. Przykładowy tekst poniżej:

Lorem Ipsum is simply dummy text of the name="192.168.202.115" printing and typesetting bytes=60077741/3007128695 industry.

Potrzebuję zadeklarować 3 zmienne:
my $ip = "192.168.202.115"
my $bajtyodebrane = "3007128695"
my $bajtywyslane = "60077741"

open (FILE, '<', "plik.txt") or die "could not open the log file\n";
print <FILE>;
close (FILE);

ale nie wiem jak "wyjąć" te zmienne w perlu :) Zmienne pojawiają zawsze w tym samym miejscu w zdaniu.
Proszę o podpowiedź lub jak to wygooglować :)
Pozdr

0

ale nie wiem jak "wyjąć" te zmienne w perlu :) Zmienne pojawiają zawsze w tym samym miejscu w zdaniu.
Proszę o podpowiedź lub jak to wygooglować :)

To co w Perlu najpiękniejsze czyli wyrażenia regularne (ang. Regular Expression)

1

Jakoś tak:

open (FILE, '<', "plik.txt") or die "could not open the log file\n";
my $line = join("", <FILE>);
if($line =~ m/name="(.+?)".*bytes=(\d+)/(\d+)/) {
    my ($ip, $bajtyodebrane, $bajtywyslane) = ($1, $2, $3);
    # Tu robisz robotę
} else {
  die "zły format";
}
close (FILE);

Join w 2 linii nie jest konieczny, ale nie zaszkodzi, przyda ci się jak będziesz czytać dłuższe pliki.
Słowa kluczowe: wyrażenia regularne i grupowanie: https://www.tutorialspoint.com/grouping-matching-in-perl

1 użytkowników online, w tym zalogowanych: 0, gości: 1