I must confess that I would much prefer a nested if-else block over something like $ref = $ref unless ref $ref eq 'ARRAY';
I don't see much point in jumping through hoops to avoid nesting. Maybe it's just the novice in me talking.
Yes, there are times when there are much more elegant solutions then nested if-elses, but shouldn't the goal be simplicity over a blanket condemnation? I guess I'm just not seeing the why in "Why I Hate Nested If-Else blocks."
My personal approach is to try to keep any nested blocks deep in the guts of my code. If I see to much of it, that sends out an alarm that I may need to abstract out things a bit more.