Komodo调试时配置的program arguments未被STDIN读取问题
问题原因
你混淆了程序运行参数和*标准输入(STDIN)*两个不同的输入机制:
- 调试配置中填写的
Program Arguments会作为Perl内置数组@ARGV的内容传入程序,不会被<STDIN>读取。 - 代码里的
<STDIN>是读取程序的标准输入流,和运行参数完全独立,所以程序会进入等待手动输入的状态。
解决方法
有两种适配方案可选:
方案1:修改代码适配现有配置
保留你目前的调试参数配置,将读取输入的代码改为从@ARGV取参数即可:
# 读取第一个传入的运行参数 $ik = $ARGV[0]; print $ik."L";
方案2:修改Komodo配置适配现有代码
如果不想改动业务代码,就调整Komodo的调试配置:找到Standard Input(或输入文件/预设输入)相关的配置项,把你需要的21填入该选项,不要填到Program Arguments栏位中。
相关截图


内容的提问来源于stack exchange,提问作者user2925716
相关产品推荐
相关产品推荐

