使用不匹配的数组大括号 ("[ ]") 或范围括号 ("{ }") 编译(或执行)perl 程序会导致“缺少右花括号或方括号”语法错误。 Perl 经常将源报告为您的最后一个代码行(“在 EOF”),这可能与实际缺失的部分相去甚远。
示例 perl 错误消息:
Missing right curly or square bracket at ./foo.pl line 100, at end of line
syntax error at ./foo.pl line 100, at EOF
Execution of ./foo.pl aborted due to compilation errors.
vi 或 Vi IMproved (VIM) 用户如何解决此错误消息?我添加了一些 VIM 增强的答案。请添加您自己的想法、实践或 vi 插件。
注意:使用 VIM 版本发布的原始问题没有突出显示 perl 大括号和方括号。许多较新的版本都是这样做的;见 vim.org了解更多信息。
最佳答案
如何立即解决此错误:
%
命令在匹配的 { }、[ ] 和 ( ) 对之间跳转。不匹配将跳转到意外的位置。如何防止 future 的错误:
nmap \g mt:%!perltidy<CR>'t
sub foo {
...
}
或者sub bar
{
...
}
关于perl - 如何使用 VIM 修复 perl 语法错误 "missing right curly or square bracket"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1793305/