Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: Perl5 Internal Representation of string variable

by halfcountplus (Hermit)
on Oct 02, 2010 at 16:11 UTC ( #863083=note: print w/ replies, xml ) Need Help??

in reply to Perl5 Internal Representation of string variable

It would not make sense to escape or backslash any characters at all in the internal representation -- they are, byte for byte, exactly what they are.

A perl "string" is just a contextual perspective on the scalar datatype. Eg, if you want to compare two scalars that contain string values, you would use "eq" to indicate that is the context. If the scalars contain numerical values and you want to compare them as numbers, you would use "==". You can use "eq" on scalars that are just numbers which treats them, contextually, as strings. Ie, "string" is not a datatype in perl. There are only three datatypes: scalars, arrays, hashes.

Comment on Re: Perl5 Internal Representation of string variable
Replies are listed 'Best First'.
Re^2: Perl5 Internal Representation of string variable
by flexvault (Prior) on Oct 02, 2010 at 16:54 UTC

    Okay, now I'm confused at a higher level!

    My understanding of the perl scalar is the same as you describe, so is it the s/// operator that requires backslash characters?

    Thank you

      You need the backslash \, when the following character has a special meaning. Whether that is required or not is context dependent. In a regex you have to backslash the [ character because that character has a special meaning in a regex. But in a print statement this is not necessary.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://863083]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (16)
As of 2015-11-30 20:46 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (782 votes), past polls