You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用perltidy格式化qw列表时闭合括号对齐异常如何解决?

这不是你的配置错误,是旧版本perltidy中--space-terminal-semicolon(-sts)参数的已知兼容性缺陷,该参数的逻辑和多行qw列表的闭合括号对齐规则存在冲突。

可按优先级选择以下解决方案:

  • 升级perltidy到20230909及以上版本,该版本已经修复了这个问题,升级后直接使用你原来的perltidy -nopro -ci=4 -boc -sts参数运行,即可同时满足「语句末尾分号前加空格」和「所有列表闭合括号对齐到第1列」两个需求。
  • 如果暂时无法升级perltidy,可以先移除-sts参数运行格式化,之后用正则批量补充分号前的空格,不会破坏原有的对齐规则,参考处理命令:
# 仅替换行尾的);为) ;,不会误伤代码内部的相关字符
perl -pi -e 's/\)$/ ;/g' 目标Perl脚本路径
  • 仅少数脚本需要适配的话,可以给对应qw代码段加perltidy跳过标记,手动固定对齐格式:
#<<<  以下代码段perltidy不会自动格式化
my @b = qw(
    foo
    bar
    baz
) ;
#>>>

内容的提问来源于stack exchange,提问作者Hannibal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:03:03