Pracuję nad pewnym kodem Perla w aplikacji Request Tracker 4.0 i napotkałem błąd, gdy wiadomość żądającego biletu jest odcięta. Jestem nowy w Perlu, wykonałem trochę pracy z wyrażeń regularnych, ale mam pewne problemy z tym nawet po dość lekturze.
mam zawężony mój problem w dół do tej linii kodu:
$content =~ s/\n-- \n.*?$//s
nie w pełni zrozumieć, co robi i chciałby lepszego wyjaśnienia.
Rozumiem, że s/ /
pasuje do wzorca \n-- \n.*?$
i zastępuje go nic. Nie mam pojęcia, co robi
Oto moja podstawowa znajomość:
.
jest dowolny znak z wyjątkiem \ n*
wynosi 0 lub więcej razy z poprzednim znakiem?
wynosi 0 lub 1 czasy poprzedniego znaku$
jest koniec ciągu znaków
Następnie, z tego co rozumiem, ostateczny s
powoduje, że .
dopasuj nowe linie
Tak więc, w przybliżeniu, zastępujemy tekst zaczynający się od \n-- \n
- ta linia kodu powoduje pewne wątpliwe zachowania, które chciałabym rozwiązać, jeśli ktoś może wyjaśnić, co tu się dzieje.
Czy ktoś może wyjaśnić, co robi ta linia? Czy po prostu usuwa cały tekst po pierwszym \n-- \n
lub czy jest w nim więcej?
długo zdyszany kwestia część/real-life (nie musisz tego czytać, aby odpowiedzieć na pytanie)
Mój dokładny problemem jest to, że cięcia cytowany zawartość w podpisie.
Więc jeśli Powiadom od klienta mówi:
Co się dzieje z rzędu ABCD?
- Niektóre klienta
Odpowiedź personel mówi (nota utratę podpisem klienta)
Jest wysyłka dzisiaj
Co się dzieje z rzędu ABCD?
Klient odpowiada
ja nie rozumiem, nie wysyłamy !!!
- Niektóre klientaJest wysyłka dzisiaj
Co się dzieje z rzędu ABCD?
Kiedy odpowiadać ich wiadomość odetnie u - który zabija cały kontekst.
To wysłane dzisiaj, śledzenie numeru 12345
ja nie rozumiem, nie wysyłamy !!!
i prowadzi do dalszej pracy wyjaśniając, co to jest porządek, itp
Thunderbird przynajmniej oferuje opcję. Możesz wybrać, czy chcesz umieścić cytaty powyżej lub poniżej podpisu. Jest wystarczająco inteligentny, aby wyciąć część '- \ n' podczas odpowiadania, ale wycina też własne cytaty. I Outlook nie dba o ogranicznik i zawsze umieszcza cytaty pod podpisem (w którym sam musisz umieścić ogranicznik). W TheBat! umieszczasz cytaty tam, gdzie chcesz je w szablonie. – simbabque