数组 – 使用Ctrl-Z时仅在Perl脚本中第一次工作
发布时间:2020-12-16 06:13:40 所属栏目:大数据 来源:网络整理
导读:作为一名Perl初学者,我正试图从Randal L. Schwartz的“Learning Perl”做一个简单的练习.练习包括从用户输入( STDIN)获取元素列表,对其进行排序,并在排序时在屏幕上显示它.列表可以以两种不同的方式输出,使用逗号在同一行上输出,或在不同的行上输出. 我的问
作为一名Perl初学者,我正试图从Randal L. Schwartz的“Learning Perl”做一个简单的练习.练习包括从用户输入(< STDIN>)获取元素列表,对其进行排序,并在排序时在屏幕上显示它.列表可以以两种不同的方式输出,使用逗号在同一行上输出,或在不同的行上输出.
我的问题是当我从用户输入获取列表时(在用户完成时在每个元素和Ctrl-Z之间输入),我不能使用< STDIN>再次.因此,我无法获得所需输出方法的用户输入. 请放纵,我对所有建议持开放态度,包括如何使用Stack Overflow,因为这是我在这里发表的第一篇文章. 编辑:我在Windows上,在Eclipse中使用EPIC模块.我已经尝试过Crtl-D了. 这是我的代码: #!/usr/bin/perl use 5.014; use warnings; use utf8; print "Enter the list you want to sort."; print "Type each element followed by <Enter>.n"; print "Type <Ctrl-Z> when you are done:n"; my @list = <STDIN>; @list = sort @list; print "Do you want the elements to be printed on individual lines [i] or on the same line [s]?n"; chomp (my $userChoice = <STDIN>); if ($userChoice eq "i") { foreach (@list) { print $_; } } else { chomp(@list); print shift @list; foreach (@list) { print "," . $_; } } 解决方法
问题来自EPIC或Eclipse.如果我在Windows控制台中运行我的代码,一切都很好.我必须使用Ctrl-Z Enter.感谢@Сухой27的评论.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |