No need to use symbolic references when you can use real references instead, and with less typing:
if ($lev =~ /.*DEBUG.*/i){
$loglev = \$DEBUG;
}elsif($lev =~ /.*INFO.*/i){
$loglev = \$INFO;
}elsif($lev =~ /.*WARN.*/i){
$loglev = \$WARN;
}elsif($lev =~ /.*ERROR.*/i){
$loglev = \$ERROR;
}elsif($lev =~ /.*FATAL.*/i){
$loglev = \$FATAL;
}else{
die "\nPlease provide the correct log level\n";
}
my $logger = get_logger();
$logger->level($$loglev); # $DEBUG,$INFO,$WARN,$ERROR,$FATAL
True laziness is hard work