in reply to Converting double quoted string to single quoted string
(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.
|
|---|