$bakjobs is a reference to the hash %bakjobs. The
$bakjobs->{"$2"} part is accessing the "$2" key of that hash. The added
{"dbt"} takes the value of the "$2" key and interprets it as a reference to another hash (creating one if necessary) and the
= $1; stores $1 as the value for the "dbt" key in that inner hash. So if the line being parsed was
BAKfoo bar, %bakjobs looks something like this (in addition to anything else already in it):
%bakjobs = (
"foo" => {
"dbt" => "bar",
"cdt" => undef,
}
);
(The value for cdt is undef from $3 because there are only two sets of capturing parentheses in your regex.)