chomp VARIABLE
chomp( LIST )
chomp

這個較安全的 chop 版本會移除任何與 $/ (在 English 模組中也稱為 $INPUT_RECORD_SEPARATOR) 目前值相符的尾端字串。它會傳回從所有引數移除的字元總數。當您擔心最後一筆記錄可能沒有換行符號時,它通常用於移除輸入記錄末尾的換行符號。在段落模式 ($/ = '') 中,它會移除字串中所有尾端換行符號。在啜飲模式 ($/ = undef) 或固定長度記錄模式 ($/ 參照整數或類似項目;請參閱 perlvar) 中,chomp 什麼都不會移除。如果省略 VARIABLE,它會對 $_ 執行 chomp。範例

while (<>) {
    chomp;  # avoid \n on last field
    my @array = split(/:/);
    # ...
}

如果 VARIABLE 是雜湊,它會對雜湊的值執行 chomp,但不會對其鍵執行 chomp,並在過程中重設 each 迭代器。

您實際上可以對任何左值執行 chomp,包括指定

chomp(my $cwd = `pwd`);
chomp(my $answer = <STDIN>);

如果您對清單執行 chomp,每個元素都會執行 chomp,並傳回已移除的字元總數。

請注意,當您對非單純變數執行 chomp 時,需要使用括號。這是因為 chomp $cwd = `pwd`; 會被解釋為 (chomp $cwd) = `pwd`;,而不是您可能預期的 chomp( $cwd = `pwd` )。類似地,chomp $a, $b 會被解釋為 chomp($a), $b,而不是 chomp($a, $b)