There is a "stupid-simple" way to write this as a
sub which returns True or False. Something like:
$a = <file>;
while ($b = <file>) {
if (($a cmp $b) > 0) return false;
$a = $b;
}
return true;
There. Anyone can understand that in about ten seconds, and debug it and patch it forever. Go ahead and write as many "redundant" functions like this as you care to, because the day
might will come when one of them has to be just a little different ... and you prepared for that, so what could be a big change in "clever" code is a small one instead, just as it should be. Your successors will thank you.