Your code does run. For explanation of chomp, look at
chomp perl doc. In this case, chomp removes 2 bytes at the end of the string (on Windows), the "\r\n" characters. If you run it on Unix, this will only remove one byte, the "\n".
In this case, the chomp is not needed and your code runs fine without it. Perl considers these line endings as "whitespace" and this doesn't factor into the conversion between "string" and "numeric". Try entering " 3 ", etc leading whitespace and trailing whitespace won't matter.
#Actual Script
#!/usr/bin/perl
use strict;
use warnings;
sub add_nums {
# body...
# Add numbers entered at STDIN
print "Enter a number (999) to quit\n";
(my $n = <>);
my $sum = 0;
while ($n != 999) { #causes string to numeric for $n
$sum += $n;
($n = <>);
}
print "The Sum is $sum\n";
}
add_nums;