gpt4 book ai didi

linux - 在 Perl 中调用命令行实例时变量在循环内获取垃圾值

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:33 25 4
gpt4 key购买 nike

do
{
print"CHOOSE ANY OF THE FOLLOWING OPTIONS:\n";
print"==========================================\n";
print"1-LOGIN & LOGOUT\n";
print"2-MAKE CALL\n";
print"3-EXIT\n";
print"==========================================\n";
print("\nENTER YOUR OPTION: ");
$option=<>;
if($option==1)
{
print("IN THE LOGIN & LOGOUT SCENARIO\n");
&Login_logout();
}
elsif($option==2)
{
print("IN THE MAKE CALL SCENARIO\n");
}
elsif($option==3)
{
print("\nEXITING...\n");
exit(0);
}
else
{
print"\nINSERT A VALID OPTION...!!!\n";
}
}while(1);

这里子程序 Login_logout() 调用了一个 SIPp 实例(命令行实例)。命令行实例成功完成后,标量 $option 获取一些垃圾值并满足 else 条件并打印行“INSERT A VALID OPTION...!!!”。此过程将无限继续,直到强行关闭 Konsole。

谁能告诉我脚本中哪里错了。

最佳答案

记住 <>采用一行而不是字符串,因此需要删除返回(CR/LF 等)。

...
$option=<>;
chomp $option; ## chomp removes the tailing return
if($option eq '1')
...

关于linux - 在 Perl 中调用命令行实例时变量在循环内获取垃圾值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9223047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com