我在图形包中使用add_edge函数。我想使用for循环来添加边,但程序返回消息未定义的子例程&main::add_edge在perl.pl第14行调用。在for循环中打印顶点是有效的。我想我可能需要在for循环中使用Use Graph;
行,因为这似乎是前面的一些答案所暗示的,但这并不能防止出现错误。
这是完整的代码:
#!/usr/bin/perl
use strict;
use warnings;
use Graph;
my $graph = Graph->new;
$graph->add_edges(qw(a b c d));
foreach($graph->vertices()){
add_edge("$_", "v");
}
与之前使用的add_edges
一样,add_edge
是图对象上的方法,而不是顶级函数。
$graph->add_edge("$_", "v");