Then I move the module load call up before the fork so that any errors will be visible and will make zmcontrol.pl die quickly instead of waiting 11 seconds for something that will never happen.
Changing the help text for DIR_EVENTS, DIR_IMAGES, and DIR_SOUNDS to make it more obvious that one should not specify a folder outside the web root and that one should probably not ever change these values from their default.
Fixed this issue:
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 138.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 141.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 144.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 154.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 156.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 195.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 222.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 247.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 275.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 302.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 329.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 356.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 383.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 399.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 414.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 448.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 671.
"my" variable $cmd masks earlier declaration in same scope at FI9821W_Y2k.pm line 690.