re: $! and die messages.
I ran through some typical die examples in a not well named thread,
Re^3: Trouble iterating through a hash. Anyway some folks may find the examples instructive about what "autodie" does as well as $! and the effect of adding or not a \n to the die message (controls line number information).
I don't have a one size fits all "standard coding procedure". I do things one way when the program is for me or perhaps for another tech professional. I do things differently when the target user/audience has minimal tech skills. Anyway knowing what the basic options are is a good idea for folks who write the code.