mythconverg_backup.pl 崩溃并出现错误:无法使用“defined(@array)”

mythconverg_backup.pl 崩溃并出现错误:无法使用“defined(@array)”

mythconverg_backup.pl 崩溃并出现错误“无法使用‘defined(@array)’(也许您应该省略 defined()?)在 ./mythconverg_backup.pl 第 1070 行。”

新安装 xubuntu 16.4 LTS 并成功恢复数据库后,我想使用以下命令再次备份数据库:

$ ./mythconverg_backup.pl --verbose --directory /home/lukas/mythtv/db_backups

结果是以下错误:

Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at ./mythconverg_backup.pl line 1070.

你能给我提示一下吗?

答案1

来自 perldoc ( 5 版本 24.0 )

用于定义聚合(哈希和数组)上的 已弃用。它用于报告是否已为该聚合分配内存。此行为可能会在 Perl 的未来版本中消失。您应该改用一个简单的大小测试:

if (@an_array) { print "has array elements\n" }

所以你只需要去1070 行mythconverg_备份.pl并从那里删除定义函数。例如:

if( defined @an_array ) 将其更改为 if( @an_array )

相关内容