in reply to if statement consolidation
There is also something to be said for clarity. The only real caution here is that you probably want to be using elsif especially if there is any chance whatsoever that the value of $h could be modified within any of the if-blocks. Even though the code as written (with the elsif change) is wordy and repetitious, it is also easy to understand and modify, and each alternative block of code stands alone. You could, if you chose and if you needed to, do completely separate and unrelated things in each block: there is no functional correlation or "tying" of any kind between them. If that works for you, all things properly considered, then do it without remorse. it is not "wrong."