如何在 Perl 中实时暂停

2023-12-24

我对 Perl 还很陌生,这是我在这里发表的第一篇文章,所以请保持温柔。

我在 60 秒的倒计时计时器中使用实时,需要能够每 10 秒停止一次,然后用户必须输入是否要在每个 10 秒的间隔继续倒计时。计时器工作,我只是不知道如何暂停它以便用户输入他们的响应。尽可能基本的答案将非常受欢迎,因为我还不太了解。谢谢你,这是到目前为止我的代码。

my $countdown = 1*60; #60 seconds
$| = 1; #disable output buffering

my $start_time = time;
my $end_time = $start_time + $countdown;


for (;;) {
    my $time = time;
    last if ($time >= $end_time);
    printf("\r%02d:%02d:%02d",
        ($end_time - $time) / (1*60),
        ($end_time - $time) / 60%60,
        ($end_time - $time) % 60,
    );

    sleep(1);
}

Update $end_time得到用户的回复后。

while (1) {
    $countdown--;
    $time = time;
    last if ($time >= $end_time);
    printf("\r%02d:%02d:%02d",
        ($end_time - $time) / (1*60),
        ($end_time - $time) / 60%60,
        ($end_time - $time) % 60,
    );

    sleep(1);
    if ($countdown%10 == 0) {
        print "Continue? ";
        $answer = <>;
        chomp $answer;
        last if $answer ne 'y';
        $end_time = time + $countdown;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Perl 中实时暂停 的相关文章

  • Perl 中可以使用哪种语法糖来减少左/右值运算符与 if 语句的代码?

    那里有很多语句 因为 Perl 是一种非常甜蜜的语言 但任何语言中最常用的语句都是 if 语句和设置值的组合 我想我已经找到了很多 但仍然存在一些空白 最终 目标是不必多次编写变量名 这是我到目前为止所拥有的 r s r s unless
  • Perl 和 Unix 如何以相同的顺序对 Unicode 字符串进行排序?

    我正在尝试获取 Perl 和 GNU Linuxsort 1 程序就如何对 Unicode 字符串进行排序达成一致 我在跑sort with LANG en US UTF 8 在Perl程序中我尝试了以下方法 use Unicode Col
  • Bugzilla 中分离客户端的基本权限

    我正在尝试配置一个 Bugzilla 实例 这将允许我的客户登录并为其正在开发 维护的网站提交错误 例如 我创建了 2 个名为 TestProject TestProject2 的产品和一个名为 TestClient 的用户 我想要实现的是
  • 使用 LWP::Agent 的 Perl JSON::RPC::Client

    我被要求不使用 JSON RPC Client 而是使用 LWP 进行调用 这是我的代码 Server usr bin perl use strict use lib use ServerLib use JSON RPC Server Da
  • 打包 Perl 应用程序,以便它可以在 Perl 的默认前缀之外工作

    我正在使用 Module Build 尽管我在构建环境上很灵活 来打包我正在编写的一些 Perl 软件 供我工作的内部使用 它包括一些脚本和一些辅助模块 我的计划是这样你就可以指定任何你想要的前缀 即perl默认值之外的东西 INC 在构建
  • 在perl中更改多维哈希的第一个键

    我在 perl 中有一个多维哈希 我想更改所选值的第一个键 例如 我有哈希 my Hash1 Hash1 1 12 1 Hash1 1 10 1 Hash1 2 31 1 Hash1 3 52 1 Hash1 3 58 1 Hash1 4
  • 在 ExtUtils::MakeMaker 下调用 gcc -pthread

    指定编译和链接的正确方法是什么 pthread not lpthread 在 Makefile PL 中 据我了解 应该调用 gcc pthread针对 pthread 进行构建时 因为此标志会扩展为正确的特定于平台的标志以进行编译和链接
  • 将字符串与 perl 中的模式对齐?

    我在方括号内有一些字符串块 如下所示 p1 text1 label1 p2 text2 label2 p3 text3 label3 等等 每个块里面有什么并不重要 但有时会有一些没有用方括号括起来的零散文本块 例如 p1 text1 la
  • 检查 Perl 函数参数值得吗?

    有很多关于MooseX 方法 签名 http search cpan org perldoc MooseX Method Signatures甚至在此之前 诸如参数 验证 http search cpan org perldoc Param
  • 仅当我在 Windows 上时,如何有条件地使用 Perl 模块?

    以下 Perl 代码 if O eq MSWin32 use Win32 do windows specific stuff 在Windows下工作 但无法在所有其他平台下运行 无法在 INC中找到Win32 pm 如何指示 Perl 仅在
  • 如何打印v字串?

    如何打印v字串 our VERSION v2 1 print VERSION n n 打印笑脸 打印 v 字符串是什么意思 你想要什么输出 你可以这样做 printf vd VERSION prints 2 1 or this print
  • 是否有 Perl 脚本来实现 C++ 类 get/set 成员函数?

    今天早上我正在读这本书务实的程序员 http www pragprog com the pragmatic programmer第 3 章介绍了每个程序员都应该拥有的基本工具 他们提到了代码生成工具 他们提到了一个用于 C 程序的 Perl
  • 如何编写正则表达式来匹配 Verilog 文件中的模块实例化?

    我正在开发一个项目 通过使用 perl 脚本语言来促进 verilog 编程 现在我想编写一个脚本来扫描顶级verilog文件 然后生成模块的层次结构列表 这表明我需要提取模块实例化 从verilog文件中的语句来看 问题是这样的 如何编写
  • 如何使用 Perl 将连接数据线转换为方案块?

    我正在寻找一种将信号连接转换为简单方案或图表的方法 假设我有 2 个组件 周围有 2 条线路 信号 component A input S1 output S2 component B input S2 output S1 这将是输入数据文
  • File::Find 是否有更干净的方法来返回所需文件的列表?

    我找到了背后的设计选择File Find find https metacpan org module File 3a 3aFind有点令人惊讶 我遇到过的例子都表明find用在 void 上下文中 The 文档 https metacpa
  • sed:用匹配的模式替换第 n 个单词?

    我有一个具有以下特征的文本文件 每行至少有三个由空格分隔的 单词 单词 可以是任何字符或字符串 我在一些行中附加了一些注释 并提出了对原始单词进行更改的初步建议 现在想使用 sed 为我进行这些更改 因此 为了提供更清晰的图片 我的文件如下
  • 如何引用 Perl 子例程?

    我在弄清楚如何引用外部模块文件中的子例程时遇到了一些麻烦 现在 我正在这样做 外部文件 package settingsGeneral sub printScreen print 0 Main use settingsGeneral my
  • 检测Perl字符串是否可打印

    我正在尝试在 Perl 中打印递归数据结构以进行调试 哈希数组的哈希的哈希 诸如此类的东西 它的一些基本数据元素是可打印的字符串 所以我正在打印它们 不幸的是 一些基本数据元素是二进制的 想想图像文件中的内容 他们用乱码搞砸了我的调试输出
  • 如何在 Perl CGI 程序中进行分页和排序?

    这是我从 SQLite 数据库检索数据的表 它有很多记录 所以在 添加 按钮附近我需要类似的东西 lt lt gt gt 每当我点击时 它就会执行分页功能 另外 除了表每个标头 例如 UserName UserId 之外 我还需要排序 按钮
  • Perl 电话号码正则表达式

    抱歉问这么简单的问题 我还是一个没有经验的程序员 我在工作中偶然发现了一些旧 Perl 代码中的电话号码匹配正则表达式 如果有人能准确解释它的含义 我的正则表达式技能严重缺乏 我会很高兴 if value space 0 9 0 9 spa

随机推荐

  • pg_views 查询中的信息不完整[重复]

    这个问题在这里已经有答案了 我的数据库中有一个视图 PostgreSQL 我想看看它的代码 我写了这个查询 select definition from pg views where viewname x 这在大多数情况下都有效 但是在某些
  • 未捕获的 ReferenceError:函数未定义 jQuery

    我试图在单击按钮时调用 jQuery 函数 但我收到错误如下 未捕获的引用错误 update question ajax 未定义 HTML
  • 修改内容配置文件表单以显示矩阵中的复选框

    我需要像这样显示矩阵http eugen gotdns com test zeitplaner png http eugen gotdns com test zeitplaner png以内容简介的形式 我可以用CSS以这种方式排列复选框
  • 通过git hook执行python子进程

    我在 Git 存储库上运行 Gitolite 并且我有用 Python 编写的 post receive 挂钩 我需要在 git 存储库目录中执行 git 命令 有几行代码 proc subprocess Popen git log n1
  • T-sql - 确定值是否为整数

    我想确定一个值是否为整数 例如TryParse在 NET中 很遗憾ISNUMERIC不适合我 因为我只想解析整数而不是每种数字 有没有这样的事情ISINT或者其他的东西 这里有一些代码可以让事情变得清楚 如果MY FIELD不是 int 此
  • C 语言中 OpenMP 静态调度和动态调度的区别

    我有两个类似的代码 First pragma omp parallel for shared g private i schedule dynamic 1 for i g actualNumberOfChromosomes i lt g m
  • 导入错误:无法导入名称“_safe_split”

    当我尝试使用 train test split 函数时出现以下错误 然后我尝试安装scipy 但没有帮助 有谁知道我可能从下面的错误中遗漏了哪些内容 谢谢 ImportError Traceback most recent call las
  • Vite + React Docker

    我正在尝试使用 docker 容器运行我的 vite react 应用程序 代码运行良好 但不幸的是 它没有在 localhost 3000 中打开 Docker文件 FROM node 18 alpine EXPOSE 3000 WORK
  • 在 Ruby 中设置请求标头

    我有其余的客户端 gem 我正在定义这样的请求 url http someurl request data gt data to json response RestClient post url request content type
  • 将 NSString 解析为 JSON

    我读过几个论坛 但似乎无法完成这个简单的任务 我在 Xcode 中有一个视图 它指向 PHP 脚本并将结果存储为下面的 NSString id 16 name 鲍勃 age 37 我在解析这个 NSString 时遇到问题 这就是我获取 N
  • IBM MQ 8 的 JMeter 配置

    我正在尝试使用 JMeter 测试 IBM MQ 8 0 有人有我需要的各种参数的示例 也许是屏幕截图 吗 我找到了几个例子 但非常不一致 更准确地说 我应该填写什么 队列连接工厂 JNDI 名称请求队列 一些示例显示队列名称 有些是 JN
  • 使用 NLTK 和 Python 创建自定义分类语料库

    我遇到了一些与正则表达式有关的问题CategorizedPlaintextCorpusReader在Python中 我想创建一个自定义分类语料库并在其上训练朴素贝叶斯分类器 我的问题如下 我想要两个类别 pos 和 neg 正片文件都在一个
  • 更改 netbeans 中自动突出显示的变量名称的突出显示颜色?

    当我移动类名称时 该类名称显示的所有其他位置都会突出显示 当我将鼠标悬停在变量上时 它会在我使用该变量的不同位置执行相同的操作 我找不到在 Netbeans 中更改该设置的位置 我更改了其他所有内容 但即使当我查看突出显示部分中的每个选项时
  • Xml 架构规范是否定义了具有默认值的可选属性的序列化?

    首先 Xml Schema 规范does指定parsing of an optional attribute with a default value 如果 xml 文档中不存在这样的属性 那么当使用 XSD 进行解析时 它们似乎存在 并且
  • 对 Laravel 5 发送邮件队列感到困惑 (Laravel 5.4)

    我从 Laravel 升级4 1 to 5 4 队列迁移很困难 首先我注释掉了iron来自路线的路线 Route post queue receive function return Queue marshal 然后 我配置了数据库驱动程序
  • 如何使 dotnet 命令成为 docker 中的第二个命令?

    这是我的CMD我的 Dockerfile 中的指令 CMD bin bash c dotnet Project Api dll 当我使用docker exec it为了在我的容器中进行交互式bash 我看到了dotnetPID为1 ps e
  • 一次更新sql server xml数据字段上的多个属性

    是否可以在一次更新中修改单个节点上的多个属性 我有类似的东西
  • Java.Util.Scanner 的 NoSuchElementException

    我对 Java 很陌生 但正在阅读 Java 如何编程 第 9 版 一书 并找到了一个例子 我一生都无法弄清楚问题是什么 这是教科书中源代码示例的 稍微 增强版本 import java util Scanner public class
  • 从依赖于外部库的终端运行 java

    我已经阅读了很多 但还没有找到解决方案 我在用着lwjgl 它需要 2 个 jar 和一个本机库才能运行 lwjgl jar lwjgl util jar和当地人图书馆 我已经尝试过我能想到的各种方法 无论如何 我现在正在尝试使用这样的命令
  • 如何在 Perl 中实时暂停

    我对 Perl 还很陌生 这是我在这里发表的第一篇文章 所以请保持温柔 我在 60 秒的倒计时计时器中使用实时 需要能够每 10 秒停止一次 然后用户必须输入是否要在每个 10 秒的间隔继续倒计时 计时器工作 我只是不知道如何暂停它以便用户