in reply to Replace characters of input stream on the fly

The problem is not clearly stated and seems to be blaming the wrong "Pirate of Silicon Valley", but if you want the CR to LF conversion to be transparent to Perl and feed each line to a method from a module, you could open a pipe from the output of a dos2unix conversion process instead of the file itself and use map as an analogy to pipe:
my $csv = Text::CSV->new; my $pid = open my $ph, 'dos2unix < inputfilename.txt |'; map $csv -> method($_), <$ph>; ... close $ph; waitpid $pid, 0; ...
However I can't see a method in Text::CSV you'd want to do that for. Seems more like you need to create your own routine that goes through several different CSV method calls to process each line of input.

One world, one people