in reply to help with user inputs

Whoa! That's deeply unpleasant to try to read. A few more blank lines, deeper indentation, and, most importantly, an attempt to strip the problem down to the bare essentials, would help. The last might well lead you to the problem...

Ok, line 61:

$AlarmCount++ if(($supply->[4] - $supply->[3]) <= <$AlarmFilter>); #L +ine 61
$AlarmFilter is, of course, a filehandle? It's set by $my $AlarmFilter = $_[0];, so where does that value come from? Oh, &{$dispatch{$whatLower}}(@ARGV);

So, no, it's the first command line parameter. Guess that'll be a problem then.

--
Tommy
Too stupid to live.
Too stubborn to die.