Ive done this using davidos closing STDERR approach. Depending on what you really are doing - assuming its not just defining a constant twice - you can minimise the loss of real warnings elsewhere, eg
package Yuk;
sub import
{
1. close stderr
2. do that thing
3. reopen stderr
}