in reply to convert txt file to csv file

The s/// operator will do what you need, although you could also use the tr/// operator and get the same result. (Consequently, you could forego Perl altogether and just use the tr program.)

Perl's command-line options will also help you concentrate only on the data transformation -- they can take care of opening files, reading their lines, and printing out the modified lines.

The boilerplate for your task is as follows:

perl -p -i.bak -e 's/[XYZ]/,/g' files*
The -p flag wraps your code with while (<>) { ... } continue { print } and the -i flag backs up the files you read with a ".bak" suffix. The executed code (as I've written it) turns X's, Y's, and Z's into commas. You could also use tr/XYZ/,/.

I suggest you read perlrun and perlop.


Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart