Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

News / Blogs

- Perl Buzz
- Perl Iron Man
- Perlsphere
- Planet Perl
- TPF news
- Use Perl

See also

- CPAN
- Perl.org
- Perl.com
- Perl 5 Wiki
- Perl Jobs
- Perl Mongers
- Perl Monks

Contact

- Site designed and maintained by Jon Allen (JJ)
- http://perl.jonallen.info

- View the project page and FAQs

# chomp

Perl 5 version 10.1 documentation
Go to top

# chomp

Perl functions A-Z | Perl functions by category | The 'perlfunc' manpage

- chomp VARIABLE

- chomp( LIST )
- chomp

  This safer version of "chop" removes any trailing string that corresponds to the current value of `$/` (also known as $INPUT_RECORD_SEPARATOR in the `English` module). It returns the total number of characters removed from all its arguments. It's often used to remove the newline from the end of an input record when you're worried that the final record may be missing its newline. When in paragraph mode (`$/ = ""` ), it removes all trailing newlines from the string. When in slurp mode (`$/ = undef` ) or fixed-length record mode (`$/` is a reference to an integer or the like, see perlvar) chomp() won't remove anything. If VARIABLE is omitted, it chomps `$_` . Example:

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

  If VARIABLE is a hash, it chomps the hash's values, but not its keys.

  You can actually chomp anything that's an lvalue, including an assignment:

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

  If you chomp a list, each element is chomped, and the total number of characters removed is returned.

  Note that parentheses are necessary when you're chomping anything that is not a simple variable. This is because `chomp $cwd = `pwd`;` is interpreted as `(chomp $cwd) = `pwd`;` , rather than as `chomp( $cwd = `pwd` )` which you might expect. Similarly, `chomp $a, $b` is interpreted as `chomp($a), $b` rather than as `chomp($a, $b)` .

Recently read

Tools

- Preferences