NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
Single quoted variable (Score:2)
is "$french_for{'$num'}", 'un', 'single quoted variable key';
Will fail. You've single quoted '$num' hence you're looking for the key "\$num".
Reply to This
Re:Single quoted variable (Score:2)
Yes, that's the failure, but I don't know why that should be obvious because if you add diag "'$num'" to the end of that script, you get this:
In other words, a variable in single quotes will interpolate if it's embedded in a double quoted string but not used as the key to a hash or an index into an array. That seems a bit odd and it would be nice if it were documented better. I should submit a patch for perltrap if it's not documented.
Re:Single quoted variable (Score:2)
Re:Single quoted variable (Score:1)
Actually what seemed odd to me was that the first example (with single quotes around the literal) worked OK. But given that, I did expect it to fail round a variable (as in I guessed what the failure would be before even seeing your list of choices).
Yes directly in a double-quoted string literal single quotes don't prevent a variable be
Re:Single quoted variable (Score:2)
Well, basically the stuff after a $ or @ sigil gets treated sort of like it's code to be executed. This leads to the following:
I know you and I have discussed this bit, but others might want to be aware of it.