in reply to Should I use carp/croak or warn/die
Personally speaking I prefer to use carp/croak when it's the fault of the caller and warn/die when it's the fault of the current sub. That way the message is appropriately relevant. I'm unaware of any recommendation of best practice which says always to use one or the other.
In Section
Seekers of Perl Wisdom