我是Perl的新手,我正在尝试编写一个简单的程序,提示用户输入一个数字。然后我想要打印这个号码。我想我有正确的代码,但是当我运行该程序时,我无法输入任何内容。我使用Sublime Text 2.我错过了一个插件还是什么?我如何让它工作?我之前只做了简单的if / else语句,一切正常。我似乎无法提示用户输入。
以下是代码:
print ("Please enter a number: \n");
$seq = <STDIN>;
print("Sequence = $seq \n");
这是输出:
在连接(。)中使用未初始化的值$ seq或在C:\ blah \ blah \ practice.pl第3行使用字符串。
请输入一个数字:
序列=
[完成0.4秒]
答案 0 :(得分:4)
根据这个 - 非常相似 - Python问题:&#34; Sublime Text 2 console input&#34; - Sublime Text不支持STDIN输入。确认here。
您可以通过以下两种方式之一解决这个问题:
在shell中运行Sublime之外的程序。在Windows上,只需将Perl脚本保存为c:\your_directory\your_subdir\your_perl_script.pl
;打开命令解释器("Start"=>"Run"=>"cmd.exe"
)并在解释器中的c:\
提示符下运行:
c:\your_directory\your_subdir\your_perl_script.pl
或者如果您在安装Perl时没有将.pl
扩展名与Perl关联,
perl c:\your_directory\your_subdir\your_perl_script.pl
按照链接的SO问题的答案并使用SublimeREPL
答案 1 :(得分:0)
请务必添加“&lt;&gt ;;”在你的perl代码的最后一行。
然后:tools-&gt;构建新系统 - &gt;
{
"cmd": ["perl","$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.perl",
"variants":
[
{
"name": "RunInCommand",
"shell": true,
"cmd": ["start", "perl","${file_base_name}.pl"]
}
]
}
现在,如果要使用快捷键(例如“F5”)运行perl代码, 你可以添加一个:preferences-&gt; key buildings-user-&gt;
[
{"keys": ["f5"], "command": "build", "args": {"variant": "RunInCommand"}}
]
享受编程。