/me is confused. Do you mean that ";" is an empty set? Perl doesn't even have sets as part of the language. The ; in my post above is just the end of an empty statement (which returns () or undef, depending on context) to make it clear that it's not supposed to be a hash.
| [reply] |
I wasn't commenting on your perl usage in any way -- in {;} the semicolon does make it clear that it is not supposed to be a hashref.
I was just making a dumb point of comparing it to set logic, where if you have a set w/nothing in it, then there's something in it.
In set logic, there's the EmptySet which I'll represent as 0. 0 is {}. So a set {} is the empty set. A set {1,2,3} has 3 elements in it and is non-empty. The set { 0 } is also non-empty, even though its only element is the empty set.
So the parallel i had in my mind was something like this:
Perl | Set Logic | Description |
{} (or ;) | {} (or 0) | Emtpy set/statement |
{;} | { 0 } | A set containing the empty set; therefore non-empty |
I guess you could use the exampe of /dev/null -- that's really a nothing file, but the array @f = ( '/dev/null' ) is non-empty. Blah--now that i typed it, i don't like that example.
Anyways, i'll stop rambling now.. ;)
| [reply] [d/l] [select] |
Using if here is a poor example, since since a block is required by if's syntax. (This ins't C.) Also, compare
{
print '!';
redo;
}
to
if (1) {
print '!';
redo;
}
| [reply] [d/l] [select] |