|
|
本帖最后由 zzz19760225 于 2025-8-8 17:15 编辑
- $| = 1;
- a0:
- print ":";
- $a1 = <>;
- chomp $a1;
- print $a1;
- print "\n";
- goto a0;
- 输入+回车显
- :123
- 123
- :
复制代码 输入需要加回车,才能执行。
请问怎么输入就能执行,如choice单字符,就执行后续命令。(可设置为单1,2,3,4,5多字符,约定定量输入就执行,也可以)
谢谢大佬们!
-----------------------------我是分割线--------------------------------
- use strict;
- use warnings;
- use Term::ReadKey;
- # 设置原始输入模式
- ReadMode('cbreak');
- print "请输入字符(按q退出):\n";
- while (1) {
- # 非阻塞读取输入
- my $key = ReadKey(-1);
-
- if (defined $key) {
- if ($key eq 'q') {
- print "\n退出程序\n";
- last;
- }
- print "输入的字符是: $key\n";
- }
-
- # 稍微休眠,避免CPU占用过高
- select(undef, undef, undef, 0.1);
- }
- # 恢复正常终端模式
- ReadMode('restore');
- 显
- 请输入字符(按q退出):
- 输入的字符是: 1
- 输入的字符是: 2
- 输入的字符是: 3
- 输入的字符是: 4
- 输入的字符是: 5
复制代码 |
|