之间有什么区别?

2024-02-08

当我使用<stdin>在 Perl 模块中(*.pm)文件它不是从键盘读取输入,但是当我使用<STDIN>在同一个地方它工作得很好。

为什么我使用的时候收不到输入<stdin>?


STDIN是记录的文件句柄。那里存在stdin以及,它的别名是STDIN,但它只适用于main::包裹:main::stdin是相同的main::STDIN(如记录在perlop - Perl 运算符和优先级 http://p3rl.org/perlop).

因此,在一个包中,

package My::Package;
sub xx {
    print while <stdin>;
}

stdin被解释为My::Package::stdin,它不存在。您可以使用main::stdin来自包,但使用标准STDIN(它总是指向main::STDIN,即使是从包装中)也更干净。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

之间有什么区别? 的相关文章

随机推荐

  • 推送通知 - 使用 SceneDelegate 在通知点击时推送 ViewController

    在 iOS 13 之前 导航控制器和根视图是在 AppDelegate 中定义的 然而 在 iOS 13 中 Apple 引入了 SceneDelegate 它接管了这些视图函数的处理 然而 AppDelegate 仍然处理诸如本地通知处理
  • 在 akka.net actor{} 表达式中等待 F# 异步任务

    是否可以在 Akka Net actor 计算中等待 不阻塞 Async 我想实现类似于以下内容的目标 actor let msg mailbox Receive match msg with Foo gt let x async Retu
  • 为什么在缩小大框时仍然出现滚动条?

    简单来说 我试图使用 CSS 变换属性将一个大框 当浏览器全屏时使用 缩放为一个较小的框 该框已正确缩放 但浏览器仍显示滚动条 就好像未缩放一样 我不想关闭溢出 我希望我错过了一些东西 我的问题的一个小提琴 注意垂直滚动条 http jsf
  • Django 错误 u"'polls" 不是已注册的命名空间

    昨天我正在使用本教程开发我的第一个应用程序 这是一个民意调查和选择应用程序 第一页显示问题 当您单击问题时 它会显示您可以对其进行投票的选项 昨天有一些很棒的人帮助了我 并告诉我使用命名空间 我已阅读命名空间教程并尝试应用我的知识 到该场景
  • 获取数组中的第一列

    我有一张工作表 需要获取某一列的值 电子邮件地址 在本例中为 C 假设该列中有三封电子邮件 日志给了我 电子邮件1 电子邮件2 电子邮件3 为了继续执行脚本 我需要让数组看起来像这样 电子邮件1 电子邮件2 电子邮件3 所以只是没有外括号
  • Highcharts - 处理重叠区域样条点上的点击

    每次单击系列中的某个点时 我都需要获取点详细信息 但单击区域样条线重叠点不会触发 单击 事件 仅当该系列的点位于前面时才会触发 plotOptions series events click function event alert thi
  • 你好,是否可以在 Eclipse 下禁用/不显示向导

    是否可以在 Eclipse 下禁用 不显示向导 例如 文件 gt 新建 gt 向导名称同样的方法 文件 gt 新建 gt 其他 gt 选择向导 gt 向导类别名称 gt 向导名称 我可以通过 propertyTesters 使向导不显示在
  • 指南针(红宝石)编码错误

    我在 Ubuntu Oneiric 上安装了 Compass 0 12 一个 ruby gem 没有任何问题 我已经更新为精确格式化 并保留 home 所以我需要重新安装 ruby 1 9 3 现在 当我编译 SCSS 文件时 出现此错误
  • 如何创建 MSI 设置?

    多年来我一直使用 Inno Setup 为所有 Delphi 工具创建设置 现在 一些用户更想要 MSI 安装包 这样他们就可以将安装程序从中央服务器部署到所有工作站 我如何创建一个 我必须购买 Visual Studio 或其他产品吗 您
  • QTP:如何从函数返回多个值

    我正在尝试编写一个函数 它可以从具有 2 个参数的函数返回多个值 eg function sample function arg1 arg2 Some code passenger list1 0 name1 list1 1 age1 li
  • Mac X11 有 XTEST 扩展吗?

    所以我把一些 X 程序移到了 mac 上 然后我得到了 Error XTEST extension unavailable on null 来自 xdotool OS X X11 是否附带 XTEST 如果没有的话有办法添加吗 在终端中运行
  • WiX 自定义许可证文件:安装程序显示带有 < > 的链接

    我创建了一个带有自定义许可证文件的 WiX 3 5 设置 将其放入 wxs file
  • 无法安装 Facebook 6.4.2 软件包

    我正在尝试安装 facebook C sdkNuGet 控制台进入我的视窗电话 8 app NET框架4 0但它给出了一个错误 详细信息如下 PM gt Install Package Facebook Successfully insta
  • 从 itertools.cycle 中提取列表

    我有一堂课 其中包含itertools cycle我希望能够复制的实例 一种方法 我能想到的唯一方法 是提取初始可迭代对象 这是一个列表 并存储循环所在的位置 不幸的是 我无法获取用于创建循环实例的列表 似乎也没有明显的方法来做到这一点 i
  • 使用 Encode::encode 和“utf8”

    正如您可能知道的 在 Perl 中 utf8 意味着 Perl 对 UTF 8 的宽松理解 它允许在技术上不是 UTF 8 中有效代码点的字符 相比之下 UTF 8 或 utf 8 是 Perl 对 UTF 8 更严格的理解 它不允许无效的
  • 一条 SQL 语句中存在多个 WHERE 条件

    我无法使用很多WHERE条件 因为我确实需要结合8 Where单个语句中的条件 我当前的SQL SELECT FROM Table WHERE ID I want 某物像这样 SELECT FROM Table WHERE ID WHERE
  • 同时更新两个表的条​​件 SQL 语句

    我想一次更新两个表 下面的代码似乎工作正常 但是 在某些情况下 bidGroups 中没有条目 这意味着整个语句将失败 我怎样才能调整它 以便它更新第一位 watchedItems 并且如果watchedItems bidGroupID I
  • 错误:xcode-select:错误:工具“xcodebuild”需要 Xcode

    我在用Ionic 2 该应用程序构建了一个Androidapk在 Windows 上成功 我现在正在尝试构建它iOS在 OSX 上 当我跑步时 ionic build ios 我得到以下信息 任何建议表示赞赏 你需要配置xcode安装后 打
  • WCF REST 缓存 - 客户端和服务器端

    我写了一个 RESTful WCF 服务 合并 ETag 使标头过期 从浏览器使用它时 缓存效果很好 但是 当从 WCF 通道工厂或 NET Web 请求对象调用缓存时 缓存是如何工作的呢 因此 在我的网站在返回 304 未修改响应时调用
  • 之间有什么区别?

    当我使用