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.
Notation Hungarian Reverse Perl and (Score:2)
At the heart of it all, Perl has only five types that matter: scalars, arrays, hashes, filehandles and coderefs. (Yes, I skipped two. If you know what they are, you know why I skipped them. ;-) Yes, there are tied variables, but what matters about them is not how their internals differ, but how they automagically hide those internals. And objects are another kettle of fish, but
Re:Notation Hungarian Reverse Perl and (Score:2)
The sigil is only half the battle. Joel's article has a great example of pulling in unsafe data from a Web form. Perl's taint mode aside, we can't always know when it's safe to use a variable. When I was coding CGI apps, I did something like this:
my $_name = $cgi->param('name'); my ($name) = $_name =~In this case, the sigil tells me nothing about whether or not it's safe to use that variable. If everything untaints, I can shove that data in the database. If it doesn't, I have the original data to encode and throw back onto the Web form. That convention of the leading underscore made it trivial for me to see that $sth->execute($_name); was an error. The sigil won't.
Reply to This
Parent
Re:Notation Hungarian Reverse Perl and (Score:2)
Crud, I hit 'Submit' instead of 'Preview'. Damn. Someone needs to read The Design of Everyday Things [mit.edu]. (Including me, to be fair.)
Re:Notation Hungarian Reverse Perl and (Score:2)
Right. Because Perl embeds RHN-the-lesser (the kind of stuff in Petzold's book and the Windows API). The entire point of RHN-as-intended is to use common prefixes and principles of composition to describe the meaning of a variable: taintedness, Primality, object behavior, worksafe content, etc.
The one huge problem with "Reverse Hungarian Notation", as Joel says, is that virtually everyone thinks RHN is RH