+ -
当前位置:首页 → 问答吧 → perl实例精解的入门题请教

perl实例精解的入门题请教

时间:2011-04-05

来源:互联网

题目是请用户输入本学期计划选修的课程编号,然后依照下面的格式打印课程内容。
You will be taking Shell Programming this semester.

循环写的不对,输出有问题,输入第二个201IU 时得到的还是C Language,但不知道那里错了,请指点一下。谢谢

my %elective = (                    
    "101CL" => "C Language",
    "201IU" => "Intro to UNIX",
    "301SP" => "Shell Programming",
    "401PP" => "Perl Programming",
);

my $key1;
my $value1;
my $course;

while ( ($key1,$value1) = each (%elective) ) {
    print "$key1 = $value1\n";
}
print "\n";

chomp($course=<STDIN>);

while ( ($key1,$value1) = each (%elective) ) {

    if ( $course = $key1 ) {
        print "$value1\n";
        last;
    }
    else {next;}  
}

作者: shot   发布时间: 2011-04-05

本帖最后由 xfoucs 于 2011-04-05 20:16 编辑

if ( $course eq $key1 )

作者: xfoucs   发布时间: 2011-04-05



QUOTE:
题目是请用户输入本学期计划选修的课程编号,然后依照下面的格式打印课程内容。
You will be taking Shell ...
shot 发表于 2011-04-05 18:45




这里犯了二个错!!!
1. 判断"等于"的等式为 "==",不是 "="
2. Perl 判断数值使用==, 判断字串使用eq

作者: jason680   发布时间: 2011-04-05

恩,果然,去加强基本工练习了。

谢谢!

作者: shot   发布时间: 2011-04-05