There is no reason to use Text::CSV_XS or any other CSV module. For a csv file? Why is that?
(The /e flag stands for eval.)
No sir, the /e modifier does NOT means eval. This is what perlop said about it; A /e will cause the replacement portion to be treated as a full-fledged Perl expression and evaluated right then and there. It is, however, syntax checked at compile-time. It is when you have /ee, that the second "e" evaled, the expression. Please read it up.