找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 43|回复: 1

[问题求助] [Perl]请问,空的花括号 {} 能运行吗?

[复制链接]
发表于 昨天 18:34 | 显示全部楼层 |阅读模式
本帖最后由 523066680 于 2026-3-29 22:18 编辑

kuohao.pl
  1. {}
  2. <STDIN>;
复制代码

输出
  1. perl ./kuohao.pl
  2. syntax error at ./kuohao.pl line 2, near ">;"
  3. Execution of ./kuohao.pl aborted due to compilation errors.
复制代码

按照AI自动信息deepseek的说法,是应该可以的,但是实际执行卡在BOM字头什么的。
请问,如果按照语句结构,是可以执行的吗?
发表于 昨天 22:12 | 显示全部楼层
本帖最后由 523066680 于 2026-3-29 22:23 编辑

你打开警告,去掉STDIN
  1. use Modern::Perl;
  2. {}
复制代码


就有提示什么问题:
Useless use of anonymous hash ({}) in void context at line 2.

被识别为了匿名的 哈希 {},这个哈希没有意义 (没有赋值给某个变量,没有参与任何操作)
想要让其运行通过,在{}右侧加;分号,告诉解释器这是一个代码块

`{};`

又或者在里面加分号,

`{;}` 这也是代码块

既然是被识别为了 匿名哈希,那么匿名数组应该也有类似情况
  1. use Modern::Perl;
  2. []
复制代码

Useless use of anonymous array ([]) in void context

因为 [] 只能是和数组有关的东西,所以就算 `[];` 也无济于事,依然提示错误。除非是正常的赋值场景、返回值场景。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-30 04:01

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表