in reply to Things I don't understand about 'use warnings'

As Fletch notes, turning off use warnings; won't suppress things emitted via warn or carp.

However, if you want your warn statements to respect lexically scoped warnings, you can use warnings::warnif instead.