Assuming that you really have some reason for wanting that sort of odd string in a flat, plain-text csv file, the
Text::CSV module will "do the right thing" in terms of applying the necessary character escapes. You just need to make sure you get the intended characters into the string that you pass to your csv object (in the example below, I use the
q// quote operator to simplify that part):
use strict;
use warnings;
use Text::CSV;
my @row = ( 'File_1', q{=Hyperlink("c:\test\File_1.doc","Link")} );
my $csv = Text::CSV->new();
{
local $\ = "\015\012"; # or use the "eol" attribute of csv object
open( my $csvfh, ">", "out.csv" ) or die $!;
$csv->print( $csvfh, \@row );
}