Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^3: Hash Syntax Question

by FunkyMonk (Chancellor)
on Jul 25, 2007 at 21:35 UTC ( #628812=note: print w/replies, xml ) Need Help??


in reply to Re^2: Hash Syntax Question
in thread Hash Syntax Question

And, if there's nothing in the string to interpolate, perl changes the double quotes to single quotes:

zippy:~/scripts$ deparse -e '$h{q[one]} = 1; $h{qq[two]} = 2; $x = q[t +hr]; $h{qq[${x}ee]} = 3;' $h{'one'} = 1; $h{'two'} = 2; $x = 'thr'; $h{"${x}ee"} = 3; -e syntax OK

Replies are listed 'Best First'.
Re^4: Hash Syntax Question
by Joost (Canon) on Jul 25, 2007 at 21:48 UTC
    Well, deparse isn't 100% reliable, and secondly, it still takes some analyzing to determine that there are no strings to be interpolated in the double-quoted string.

    Probably not much more than analyzing a single-quoted string for \' escapes though, since you'd only have to test for the sigils.

    update: what I mean to say is, all this stuff is done at compile-time - i.e. normally, it's done only once per string; when the code is loaded. It has no impact at all after that. Run-time perl has no distinction between single and double quoted strings - it all compiles to a fixed string (for constant strings) or a number of concatenation operations on variables and constant strings (for interpolations).

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (3)
As of 2023-04-01 04:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?