Like pg said, you need to show us the rest of your code. In lieu of that, I'm guessing you call this sub actions before the initializing code
my $num = 0;
my $status_count = 0;
my $status_goal = 0;
has been run.
For example, examine how the following code runs:
use strict;
use warnings;
print_foo();
my $foo = "bar\n";
sub print_foo {
print $foo;
}
print_foo();
The first call to the sub throws the uninitialized error because the statement my $foo = "bar\n"; hasn't been executed yet. By the second call, that statement has been executed, so there is no warning.