W dniu 1 grudnia 2011 14:45 użytkownik Łukasz Rostalski lukasz@rostalski.pl napisał:
Cześć, czy możecie poratować mnie jakimś przykładem jak w perlu napisać skrypt który przetwarza każdą linijkę wg wzoru. Piszę sobie skrypt to importu płatności masowych i o ile z pocztą i pobraniem załącznika sobie poradziłem to teraz zatrzymałem się na analizowaniu pliku. Ewentualnie jakich funkcji użyć.
PS Jak skończę pisać i będzie działało to udostępnię dla potomnych (nieodpłatnie).
Taki przykładzik: ------- open(SOMEFILE,filename); while (<SOMEFILE>) { $line = $_; if ($line =~ m/(^[0-9]{5,25}|)/) {
@fields = split(/|/,$line); $local = $fields[0]; $public = $fields[1]; }
print $local; print $public; } ------- W skrócie wygląda to tak: Pierwsza linijka otwiera plik, następnie w pętli: $line = $_; - odczytuje linię, Kolejna linijka dopasowuje linię do wzorca (w tym przypadku linia ma się zaczynać od ciągu cyfr o długości od 5 do 25 znaków następnie ma być znak "|" - polecam lekturę wyrażeń regularnych) i jeśli pasuje to rozbijam sobie linijkę na pola oddzielone znakiem "|' i wrzucam w oddzielne zmienne.
Ps. Dlaczego nie skorzystasz z gotowego cashimporta, który jest w LMS?