perlmeditation
eyepopslikeamosquito
<P>
Further to [id://631776], today I inherited some code written by an external contractor. Here is one of his functions that caught my eye:
<CODE>
sub file_mode {
my ($file) = @_;
if( ! -f $file ) {
return -1;
}
my $dummy;
my $mode;
($dummy,$dummy, $mode, $dummy, $dummy, $dummy, $dummy, $dummy, $dummy,
$dummy, $dummy, $dummy, $dummy) = stat($file);
return $mode;
}
</CODE>
</P>
<P>
Maybe he thought he was writing in a very "clear" style, but I had to reach for my sunglasses looking through this code. :-)
Assuming that I don't change the (dubious) interface, my instinct would be to write this function as:
<CODE>
sub file_mode {
-f shift or return -1;
return (stat(_))[2];
}
</CODE>
Then I thought, maybe a Perl novice would find the original function easier to understand and maintain. I guess it's like writing, you should write to a level appropriate to your audience. What do you think?
</P>