ChinaUnix技术实践之Perl编程大赛试题

!!!大赛直播现场!!!

!!!大赛参考答案!!!


  1. 请正确的精简如下代码。
  2. sub myfunc {
        # $x = ...;
     
        if ( $x ) {
           return 1;
        } else {
           return;
        }
    }
  3. $x=()结果是什么?列表位于标量上下文是什么情况?()是不是用来创建空的list?请解释原因。
  4. 1,2,3,5,6,7,8 如何合并成1-3,5-8?
  5. @x=(5,7,9); $x[1]与@x[1]的区别是什么?
  6. 用最短和优的perl代码对当前目录下的文件和子目录按修改时间进行排序。
  7. 传入一串数字并返回所有大于平均值的数字。
  8. 让用户不断猜测范围从1到100的秘密数字,直到猜中为止。程序应该以魔术公式lnt(1+rand 100)来随机产生秘密数字。当用户猜错时,程序应相应“too high”或者“too low”。如果用户quit或者exit或者键入一个空白行程序就中止。当然如果用户猜到了,程序也应该中止。
  9. 写一个简单的TCP Echo Server,在linux/unix环境运行,侦听在特定端口,接受用户的网络输入,并返回同样的数据给对方,能接受quit命令。
  10. 基本要求:
    (1)无阻塞IO。
    (2)daemon方式运行。
    (3)能接受kill -HUP重启信号。