Вы можете использовать режим slurp (больше не требуется цикл while) и некоторые регулярные выражения:
print map { $_ =~ s/\n/\\n/; $_ } (<>);
или некоторые специальные переменные:
my @a = <>;
$\ = $, = '\n';
chomp @a;
print @a;
($ \ is theразделитель выходной записи, а $ - разделитель выходного поля. Оба применяются к оператору печати)