Funkce Perl Array chop () a chomp ()

Perl je kotleta a chomp funkce mohou být často zdrojem zmatku. Nejen, že zní podobně, ale dělají podobné věci. Bohužel existuje zásadní rozdíl -kotleta odstraní poslední znak tětiva úplně, zatímco chomp odstraní pouze poslední znak pokud jde o nový řádek.

Chomping $ myName odřízne poslední nový řádek a odejde jen Jacobe. Jakmile je to ušikmeno, další šimpanz už nic nedělá. Sekání název však bude mít za následek odstranění posledního znaku a jeho opuštění Jaco:

Chomping a kotletaping pole Výsledkem je, že se na každý prvek pracuje, a může to být spořič v reálném čase.

Takže pamatujte - Kotleta sekání poslední postavy bez otázek nebo lítosti. Chomp pouze odstranil nový řádek a řetězec zůstal nedotčen. Chomp ve výchozím nastavení neodstraní všechny znaky mezery. Ve skutečnosti chomp ve výchozím nastavení odebere pouze to, co je aktuálně definováno jako $ INPUT_RECORD_SEPARATOR. Pokud je vaším cílem oříznout celé mezery od konce řetězce, zkuste použít regex jako je tento, který odešle čtenář:

instagram story viewer