in reply to delimited files

Maybe Crystal::Sphere could help.

Jokes apart, you first need to establish if your valid characters and your possible delimiters are disjointed sets. If one file can use ";" as a separator, while it's a perfectly valid char inside the fields of another... it's something that I would not automate.

Otherwise, if these sets do not intersect (e.g. you only have digits as values inside fields, and possible separators are ";,|:"), you can simply transform each separator character into a comma:

while (<>) { tr/;:|/,/; print; }

Update: removed spurious line from example.

Flavio (perl -e 'print(scalar(reverse("\nti.xittelop\@oivalf")))')

Don't fool yourself.