The other day one of the other developers here was looking
at some of my code where I'd done something like:
if (-d $foo) {
...
}
elsif (-s _) {
...
}
He had never seen the _ file-test optimization and leaped
to the conclusion that it was a syntax error. My response
to him was not very kind--I literally told him to RTFM--but
I can sort of sympathize with
the position he was in. For whatever reason he was unaware
of that particular feature, and it may not be immediately
obvious where to find out about it. In hindsight, sure,
go to the file-test-operator documentation, but it could
just as easily have been some obscure variable/bareword
syntax, or a call to a function named '_'.
And for that matter, if you didn't know the right perldoc
command to show the file-test documentation, it'd probably
take a few tries to find it.
I've been using perl since version 3.something, but there
are lots of times I get tired of having to keep track of
all the syntax idiosyncracies.