chomp removes a trailing newline after a line is read into a scalar.

chomp `chomp` removes the input record separator, usually a newline, from the end of a string.

Chomp Lines

name
chomp_lines.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;

my $name = "Nora";
my $content = "$name\n";
my $raw = $content;
my $clean = $raw;
chomp $clean;

my $raw_length = length $raw;
my $clean_length = length $clean;

print "name=$name\n";
print "raw_length=$raw_length\n";
print "clean_length=$clean_length\n";
use strict;
use warnings;

my $name = "Ilya";
my $content = "$name\n";
my $raw = $content;
my $clean = $raw;
chomp $clean;

my $raw_length = length $raw;
my $clean_length = length $clean;

print "name=$name\n";
print "raw_length=$raw_length\n";
print "clean_length=$clean_length\n";
use strict;
use warnings;

my $name = "Sam";
my $content = "$name\n";
my $raw = $content;
my $clean = $raw;
chomp $clean;

my $raw_length = length $raw;
my $clean_length = length $clean;

print "name=$name\n";
print "raw_length=$raw_length\n";
print "clean_length=$clean_length\n";
  1. $name ← Nora, $content ← Nora , $raw ← Nora , $clean ← Nora , $raw_length ← 5

    4my $name→ Nora = "Nora"; #@name="Ilya", "Sam"5my $content→ Nora
     = "$nameNora\n";6my $raw→ Nora
     = $contentNora
    ;7my $clean→ Nora
     = $rawNora
    ;8chomp $clean→ Nora;910my $raw_length→ 5 = length $rawNora
    ;11my $clean_length→ 4 = length $cleanNora;1213print "name=$nameNora\n";14print "raw_length=$raw_length5\n";15print "clean_length=$clean_length4\n";
    outputname=Nora
    raw_length=5
    clean_length=4
  1. $name ← Ilya, $content ← Ilya , $raw ← Ilya , $clean ← Ilya , $raw_length ← 5

    4my $name→ Ilya = "Ilya";5my $content→ Ilya
     = "$nameIlya\n";6my $raw→ Ilya
     = $contentIlya
    ;7my $clean→ Ilya
     = $rawIlya
    ;8chomp $clean→ Ilya;910my $raw_length→ 5 = length $rawIlya
    ;11my $clean_length→ 4 = length $cleanIlya;1213print "name=$nameIlya\n";14print "raw_length=$raw_length5\n";15print "clean_length=$clean_length4\n";
    outputname=Ilya
    raw_length=5
    clean_length=4
  1. $name ← Sam, $content ← Sam , $raw ← Sam , $clean ← Sam , $raw_length ← 4

    4my $name→ Sam = "Sam";5my $content→ Sam
     = "$nameSam\n";6my $raw→ Sam
     = $contentSam
    ;7my $clean→ Sam
     = $rawSam
    ;8chomp $clean→ Sam;910my $raw_length→ 4 = length $rawSam
    ;11my $clean_length→ 3 = length $cleanSam;1213print "name=$nameSam\n";14print "raw_length=$raw_length4\n";15print "clean_length=$clean_length3\n";
    outputname=Sam
    raw_length=4
    clean_length=3