Che*_*eso 2 validation perl user-input
我不知道这个简单的交易我可能做错了什么,但它不起作用:
print "OK? (y or n)\n";
$ans = <>;
print "\n";
if($ans eq "y"){print $ans;}
Run Code Online (Sandbox Code Playgroud)
我基本上想知道如何测试用户输入.这一小段代码对我不起作用.我只是想尝试打印,$ans如果y用户输入.
有什么建议?
编辑: - 我也试过单引号
mkb*_*mkb 14
你做错了几件事.
(1)当您需要<STDIN>时,请勿使用菱形运算符(<>).钻石操作员还将从@ARGV中读取您可能不想要的文件.
(2)$ ans永远不会等于"y",除非你先把它扼杀.最后会有一个换行符.
彻底解决神秘内容的变数:
use Data::Dumper;
$Data::Dumper::Useqq = 1; # show newlines, tabs, etc in visible form
$Data::Dumper::Terse = 1;
print '$ans is really: ', Dumper($ans);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
327 次 |
| 最近记录: |