Learning Perl学习笔记(1)第二章Scalar Data

简单的记录了书里的小例子,以及章节后的练习题的脚本。

If Control Structure(IF循环)

脚本如下:

#!/usr/bin/perl
use warnings;
use strict;
use v5.24;
my $line = ; #这里变量前必须加上my,不知道是不是版本的原因,书里没有加my;但是这里如果不加就会报错
if ($line eq "\n") {
        print "That was just a blank line!\n";
} else {
        print "That line of input was: $line";
}
$ ./practice.pl
I am learning perl #这里输入字符I am learning perl,回车后会显示下面的返回结果
That line of input was: I am learning perl

$ ./practice.pl
                   #这里我直接打回车键,则会显示下面的结果
That was just a blank line!

While Control Structure(While语句)

#!/usr/bin/perl
use warnings;
use strict;
use v5.24;
my $count = 0;  
while ($count < 10) {
        $count += 2; #这里实际上是$count = $count + 2
        print "count is now $count\n";
}
$ ./practice.pl
count is now 2
count is now 4
count is now 6
count is now 8
count is now 10

Learning perl 7th 第二章课后练习:

(1)第一题:

Write a program that computes the circumference of a circle with a radius of
12.5. Circumference is 2π times the radius (approximately 2 times 3.141592654).The answer you get should be about 78.5.

#!/usr/bin/perl
use warnings;
use strict;
use v5.24;
my $radius = 12.5;
my $circumference = 2 * 3.141592654 * $radius;
print $circumference."\n";
$ ./practice.pl
78.53981635
(2)第二题

Modify the program from the previous exercise to prompt for and accept a
radius from the person running the program. So, if the user enters 12.5 for the
radius, she should get the same number as in the previous exercise.

#!/usr/bin/perl
use warnings;
use strict;
use v5.24;
my $radius = ;
my $circumference = 2 * 3.141592654 * $radius;
print $circumference."\n";                      
$ ./practice.pl
12.5
78.53981635
(3)第三题

Modify the program from the previous exercise so that, if the user enters a
number less than zero, the reported circumference will be zero, rather than negative.

#!/usr/bin/perl
use warnings;
use strict;
use v5.24;
my $radius = ;
my $circumference = 2 * 3.141592654 * $radius;
if ($radius >= 0 ) {
                print "$circumference\n";
        } else {
                print "0"."\n";
                }
$ ./practice.pl
3
18.849555924
$ ./practice.pl
0
0
$ ./practice.pl
-4
0
(4)第四题

Write a program that prompts for and reads two numbers (on separate lines
of input) and prints out the product of the two numbers multiplied together.

#!/usr/bin/perl
use warnings;
use strict;
use v5.24;
my $number_one = ;
my $number_two = ;
my $multiplied_together = $number_one * $number_two;
print $multiplied_together."\n";
$ ./practice.pl
4
7
28
(5)第五题

Write a program that prompts for and reads a string and a number (on separate
lines of input) and prints out the string the number of times indicated by the
number on separate lines. (Hint: use the x operator.) If the user enters “fred” and
“3”, the output should be three lines, each saying “fred”. If the user enters “fred”
and “299792,” there may be a lot of output.

#!/usr/bin/perl
use warnings;
use strict;
use v5.24;
my $string_input = ;
my $times = ;
my $output_total = "$string_input" x $times;
print $output_total;
$ ./practice.pl
yan
3
yan
yan
yan

和书后的答案一对,虽然我运行的结果都没有错,但是比答案还是略逊了一点。因为答案里并不是仅仅输出的运行后的数字,还同时打出了“the result is:”这样的字符。嗯,还要继续努力~~

你可能感兴趣的:(Learning Perl学习笔记(1)第二章Scalar Data)