in reply to why is this code bad under -w option?

No. Not declare but initialize. You just do a $block_type=$1. But $1 is sometimes undef.
  • Comment on Re: why is this code bad under -w option?