Just based on my limited experience working with Excel files in Perl, you look to be going about it fine. Is there a particular problem or issue you are having? Or is the result of your code not what you expect?
You might benefit from adding strict, or at least declaring variables via my in this block. It is difficult as a reader who doesn't know what you are trying to do to tell the difference in your code between globals defined elsewhere and globals you are springing into existence in this block.