in reply to using CGI, hash slices, and perldoc

CGI and CGI::Carp are completely unrelated modules. The fact that CGI::Carp has the name CGI in it is for our purposes; Perl doesn't attach any meaning to that. So, you need two use statements.

Hashslices are useful when you want to get/set the values for more than one key at a time. So, instead of

my @values; push @values, $hash{$_} for qw( key1 key2 key2 );
you can do something like
my @values = @hash{ qw( key1 key2 key3 ) };

Some people feel that hashslices are annoying to read. Others, like me, love them. No-one says you have to use them. If you like them, great. If you don't, great. :-)

Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.