微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Learning Perl: 2.7. Getting User Input

Previous Page

Next Page

 

2.7. Getting User Input

At this point,you're probably wondering how to get a value from the keyboard into a Perl program. Here's the simplest way: use the line-input operator,<STDIN>.[

]

[

] This is a line-input operator working on the filehandle STDIN,but we can't tell you about that until we get to filehandles (in Chapter 5).

Each time you use <STDIN> in a place where a scalar value is expected,Perl reads the next complete text line from standard input (up to the first newline) and uses that string as the value of <STDIN>. Standard input can mean many things; unless you do something uncommon,it means the keyboard of the user who invoked your program (probably you). If there's nothing waiting for <STDIN> to read (typically the case unless you type ahead a complete line),the Perl program will stop and wait for you to enter some characters followed by a newline (return).[*]

[*] To be honest,it's normally your system that waits for the input; Perl waits for your system. Though the details depend upon your system and its configuration,you can generally correct your mistyping with a backspace key before you press return since your system handles that,not Perl itself. If you need more control over the input,get the Term::ReadLine module from CPAN.

The string value of <STDIN> typically has a newline character on the end of it.[

] So,you Could do something like this:

[

] The exception is if the standard input stream somehow runs out in the middle of a line. But that's not a proper text file,of course.

    $line = <STDIN>;
    if ($line eq "/n") {
      print "That was just a blank line!/n";
    } else {
      print "That line of input was: $line";
    }

In practice,you don't often want to keep the newline,so you need the chomp operator.

Previous Page

Next Page

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐