(That could be done as a one-liner on a command line with perl -pe 'tr/\x22/\x27/' in.txt > out.txt -- using hex numbers to avoid having the quotation marks misinterpreted by the command-line shell.)while (<>) { tr/\"/\'/; print; }
I would not recommend using this approach on a text file that contains a perl script. Consider what would happen with a code snippet like the following:
In that form, with double quotes, it produces:$name = "my name"; print "---$/ What is $name ? \t I won't tell.\n---";
If we convert all double-quotes to single-quotes, it won't run because of a syntax error -- until we figure out that we have to escape the apostrophe in won't with a backslash. But when that's fixed, the output we see is:--- What is my name ? I won't tell. ---
---$/ What is $name ? \t I won't tell.\n---
Single quotes in perl scripts are used to assign literal string values, without interpolating variables or special characters like \n, \t, etc.
In reply to Re: Converting double quoted string to single quoted string
by graff
in thread Converting double quoted string to single quoted string
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |