How to concatenate variables in Perl

Variable interpolation occurs when you use double quotes. So, special characters need to be escaped. In this case, you need to escape the $:

print "\$linenumber is: \n" . $linenumber;

It can be rewritten as:

print "\$linenumber is: \n$linenumber";

To avoid string interpolation, use single quotes:

print '$linenumber is: ' . "\n$linenumber";  # No need to escape `$`

I like .= operator method:

#!/usr/bin/perl
use strict;
use warnings;

my $text .= "... contents ..."; # Append contents to the end of variable $text.
$text .= $text; # Append variable $text contents to variable $text contents.
print $text; # Prints "... contents ...... contents ..."

In Perl any string that is built with double quotes will be interpolated, so any variable will be replaced by its value. Like many other languages if you need to print a $, you will have to escape it.

print "\$linenumber is:\n$linenumber";

OR

print "\$linenumber is:\n" . $linenumber;

OR

printf "\$linenumber is:\n%s", $linenumber;

Scalar Interpolation