in reply to runtime error not caught by compilation check???

I normally do not declare different types of variables with the same name, eg,  %skedhash, $skedhash, but that is what it is (and completely allowed in Perl).... what is happening here?:
sub sked { #LN44 no warnings "uninitialized"; %skedhash = @_; say "In sub 'sked'"; #LN44
That looks like an invalid statement before the skedhash assignment. Could be a problem?

Update: Maybe that is ok? Not sure since I cannot run the program or see the line that the compile fails at (what is line 65?).