Second, I don't know why the warnings aren't going to where ever STDERR is being redirected to.
I was very curious to understand where Perl sends warning which is why I redirected STDERR. This is not something I do often, hence the deliberate division by zero runtime error to prove that it really was redirected.
given is experimental at test.pl line 17.
when is experimental at test.pl line 18.
Illegal division by zero at test.pl line 22.
So it seems that warnings are sent to STDOUT