Hi perlancar,
Could you provide an SSCCE that demonstrates the problem? As the AM already pointed out, the code you showed does provide a warning:
$ perl -wMstrict -e 'our $foo => { a=>"blah", b=>"blah" };'
Useless use of anonymous hash ({}) in void context at -e line 1.
Update: Ok, the code you showed in the title does not warn. Standard Perl::Critic doesn't seem to catch this one either, and I don't yet see any add-on policies that catch this. Update 2: See my other reply.
$ perl -wMstrict -e 'our $foo => 1;'
$
Regards,
-- Hauke D