$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.)
|