【发布时间】:2018-05-26 14:58:22
【问题描述】:
我怀疑我在 Perl 中犯了一个导入错误。
有一个 Perl 模块 Verilog::VCD::Writer 可以写入 VCD 文件。但是,当我复制其 SYNOPSIS 代码进行尝试时,它总是会引发错误:
无法通过包定位对象方法“addSignal” tester.pl 第 10 行的“Verilog::VCD::Writer”。
SYNOPSIS 在addSignal 之前调用addComment 和addModule,所以我的安装应该没有问题。
addSignal是Verilog/VCD/Writer/Module.pm中定义的函数,另外两个在Verilog/VCD/Writer.pm中定义。即使我加了Verilog::VCD::Writer::Module,调试器还是去包Writer找到addSignal方法。
如果我这样调用addSignal函数:
$writer->Verilog::VCD::Writer::Module::addSignal("TX",7,0);
无法通过包定位对象方法“signals_push” “Verilog::VCD::Writer”在 /home/cqsun/lib/perl5/lib/site_perl/5.18.2/Verilog/VCD/Writer/Module.pm 第 41 行。
Module.pm在哈希中定义了signals_push,显然调试器没有找到它。
我怀疑有问题,但我不知道它在哪里。
这个包的网页是http://search.cpan.org/~jvs/Verilog-VCD-Writer-0.002/lib/Verilog/VCD/Writer.pm
【问题讨论】: