Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions




[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ] Special Characters in Single-quoted Strings

There are two characters in single quoted strings that do not always represent themselves. This is due to necessity, since single-quoted strings start and end with the `'' character. We need a way to express inside a single-quoted string that we want the string to contain a `'' character.

The solution to this problem is to preceded any `'' characters we actually want to appear in the string itself with the backslash (`\' character). Thus we have strings like this:

'xxx\'xxx'; # xxx, a single-quote character, and then xxx

We have in this example a string with 7 characters exactly. Namely, this is the string: xxx'xxx. It can be difficult at first to become accustomed to the idea that two characters in the input to Perl actually produce only one character in the string itself. (3) However, just keep in mind the rules and you will probably get used to them quickly.

Since we have used the `\' character to do something special with the `'' character, we must now worry about the special cases for the backslash character itself. When we see a `\' character in a single-quoted string, we must carefully consider what will happen.

Under most circumstances, when a `\' is in a single-quoted string, it is simply a backslash, representing itself, as most other characters do. However, the following exceptions apply:

  • The sequence `\'' yields the character `'' in the actual string. (This is the exception we already discussed above).

  • The sequence `\\' yields the character `\' in the actual string. In other words, two backslashes right next to each other actually yield only one backslash.

  • A backslash, by itself, cannot be placed at the end of a the single-quoted string. This cannot happen because Perl will think that you are using the `\' to escape the closing `''.

The following examples exemplify the various exceptions, and use them properly:

'I don\'t think so.'; # Note the ' inside is escaped with \ 'Need a \\ (backslash) or \?'; # The \\ gives us \, as does \ 'You can do this: \\'; # A single backslash at the end 'Three \\\'s: "\\\\\"'; # There are three \ chars between ""

In the last example, note that the resulting string is Three \'s: "\\\". If you can follow that example, you have definitely mastered how single-quoted strings work!

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  Published under the terms of the GNU General Public License Design by Interspire