Funkcje chop() i chomp() w Perl Array — szybki samouczek
Rob Melnychuk/Stockbyte/Getty Images
Perla siekać oraz chrupać funkcje często mogą być źródłem nieporozumień. Nie tylko brzmią podobnie, robią podobne rzeczy. Niestety, istnieje zasadnicza różnica— siekać usuwa ostatni znak z strunowy całkowicie, podczas gdy chrupać usuwa tylko ostatni znak jeśli jest to nowa linia .
chomping $myName odcina ostatnią linię, pozostawiając tylko Jakub . Gdy zostanie już pogryziony, dalsze gryzienie nic nie da. Okazały nazwa jednak spowoduje usunięcie ostatniego znaku, pozostawiając Jaco :
Chomp ing i siekać pingować szyk powoduje, że każdy element jest podejmowany i może być prawdziwą oszczędnością czasu.
Więc pamiętaj - Siekać odcina ostatni znak bez pytania i żalu. Chomp usunięto tylko znak nowej linii, pozostawiając sam ciąg nienaruszony. Chomp domyślnie nie usuwa wszystkich białych znaków. W rzeczywistości chomp domyślnie usuwa tylko to, co jest obecnie zdefiniowane jako $INPUT_RECORD_SEPARATOR . Jeśli Twoim celem jest usunięcie wszystkich białych znaków z końca ciągu, spróbuj użyć wyrażenia regularnego takiego jak to przesłane przez czytelnika: