全局符号“%CustomerCompanyName”需要明确的包名
Global symbol "%CustomerCompanyName" requires explicit package name
我不是 Perl 专家,但我正在尝试编辑 OTRS 软件以添加对 CustomerCompanyName 列的支持,如下所示,但出现错误
Global symbol "%CustomerCompanyName" requires explicit package name at /opt/otrs//Kernel/Output/HTML/Dashboard/TicketGeneric.pm line 1516.
我谷歌了一下,发现是 "my" 和变量声明的问题,但过了一段时间,我还没有发现我做错了什么。
通过在这一行添加来应用更改:
https://github.com/OTRS/otrs/blob/1e908159a5dbdcfb94cc35d13bf15b04ac3e6a24/Kernel/Output/HTML/Dashboard/TicketGeneric.pm#L1510
elsif ( $Column eq 'CustomerCompanyName' ) {
# get customer name
my $CustomerCompanyName;
if ( $Ticket{CustomerID} ) {
$CustomerCompanyName = $Kernel::OM->Get('Kernel::System::CustomerCompany')->CustomerCompanyGet(
CustomerID => $Ticket{CustomerID},
);
$CustomerCompanyName = $CustomerCompanyName{'CustomerCompanyName'};
}
$DataValue = $CustomerCompanyName;
}
您看到的问题是由以下行引起的:
$CustomerCompanyName = $CustomerCompanyName{'CustomerCompanyName'};
看起来你打算写:
$CustomerCompanyName = $CustomerCompanyName->{'CustomerCompanyName'};
(注意解除引用的箭头)。
$CustomerCompanyName{'CustomerCompanyName'}
是散列 %CustomerCompanyName
中的键,它不同于 $CustomerCompanyName
,您声明的标量然后给出一个值(大概是散列引用)。
我不是 Perl 专家,但我正在尝试编辑 OTRS 软件以添加对 CustomerCompanyName 列的支持,如下所示,但出现错误
Global symbol "%CustomerCompanyName" requires explicit package name at /opt/otrs//Kernel/Output/HTML/Dashboard/TicketGeneric.pm line 1516.
我谷歌了一下,发现是 "my" 和变量声明的问题,但过了一段时间,我还没有发现我做错了什么。
通过在这一行添加来应用更改: https://github.com/OTRS/otrs/blob/1e908159a5dbdcfb94cc35d13bf15b04ac3e6a24/Kernel/Output/HTML/Dashboard/TicketGeneric.pm#L1510
elsif ( $Column eq 'CustomerCompanyName' ) {
# get customer name
my $CustomerCompanyName;
if ( $Ticket{CustomerID} ) {
$CustomerCompanyName = $Kernel::OM->Get('Kernel::System::CustomerCompany')->CustomerCompanyGet(
CustomerID => $Ticket{CustomerID},
);
$CustomerCompanyName = $CustomerCompanyName{'CustomerCompanyName'};
}
$DataValue = $CustomerCompanyName;
}
您看到的问题是由以下行引起的:
$CustomerCompanyName = $CustomerCompanyName{'CustomerCompanyName'};
看起来你打算写:
$CustomerCompanyName = $CustomerCompanyName->{'CustomerCompanyName'};
(注意解除引用的箭头)。
$CustomerCompanyName{'CustomerCompanyName'}
是散列 %CustomerCompanyName
中的键,它不同于 $CustomerCompanyName
,您声明的标量然后给出一个值(大概是散列引用)。