我有这个功能:它应该只是通过自定义链表打印:
sub myprint {
my $iter = shift->{top};
my $refType = ref($iter);
while ($refType -ne "SCALAR") { #44
print $iter->{data};
$iter=$iter->{prev};
$refType = ref($iter);
}
}
错误:
jddancks@GIGABYTE-SERVER:/media/20B9-BF25/perl/OOP$ perl test_linked_list.pl
syntax error at cs351/linked_list/MyLinkedList.pm line 44, near "-ne"
Global symbol "$iter" requires explicit package name at cs351/linked_list/MyLinkedList.pm line 46.
Global symbol "$iter" requires explicit package name at cs351/linked_list/MyLinkedList.pm line 46.
Global symbol "$refType" requires explicit package name at cs351/linked_list/MyLinkedList.pm line 47.
Global symbol "$iter" requires explicit package name at cs351/linked_list/MyLinkedList.pm line 47.
syntax error at cs351/linked_list/MyLinkedList.pm line 48, near "}"
Compilation failed in require at test_linked_list.pl line 3.
BEGIN failed--compilation aborted at test_linked_list.pl line 3.
永远不要相信语法错误之后出现的错误。
在第 44 行,-ne
是一个错误,它应该是ne
的(你可能在考虑 shell 而不是 perl)。
修复它,其他错误就会消失,或者至少你会留下另一个你可以信任并做点什么的错误。