Not quite. Putting \\\n into a character class causes every occurrence of either a backslash or a newline to be removed. This results in a file consisting of just a single line, which is not what is wanted. Remove the character class:
#! perl
use strict;
use warnings;
my $file = '';
while (<DATA>)
{
s{\\\n}{};
$file .= $_;
}
print $file;
__DATA__
first line
second line \
third line \
fourth line
fifth line
Output:
13:10 >perl 738a_SoPW.pl
first line
second line third line fourth line
fifth line
13:13 >
Note that the substitution operates on each line of input in turn, and a single input line can contain no more than one backslash-newline sequence. So, the /g modifier is not needed.
Hope that helps,