I'm not sure how these various algorithms would score this code. But I would suspect highly that "flat code" is an objective, ie reducing the number of indent levels.
Here you have an if and then another if than can only be executed if the first if is true.
if ( /go/ && exists $files{$file})
{
push @PLACE, @batch;
delete $files{$file};
}
if (/go/)
{
@batch=();
}
reduces the "if" indentation level by one. And moves this action that happens on /go/ "no matter what" up a level at the expense of testing it again. I'm curious as to how that would be "scored"?