数组 – 使用Ctrl-Z时仅在Perl脚本中第一次工作

前端之家收集整理的这篇文章主要介绍了数组 – 使用Ctrl-Z时仅在Perl脚本中第一次工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
作为一名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的评论.

猜你在找的Perl相关文章