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

本文介绍了Perl脚本中IF和WHILE控制结构的使用实例,包括检查空白行、输入验证和计算圆周率,并演示了如何根据用户输入动态调整程序。后续的编程练习涉及用户输入、乘法运算和条件判断,如零值处理和字符串重复输出。
摘要由CSDN通过智能技术生成

If Control Structure(IF循环)

脚本如下:

#!/usr/bin/perl
use warnings;
use strict;
use v5.24;
my $line = <STDIN>; #这里变量前必须加上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 = <STDIN>;
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 = <STDIN>;
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 = <STDIN>;
my $number_two = <STDIN>;
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 = <STDIN>;
my $times = <STDIN>;
my $output_total = "$string_input" x $times;
print $output_total;

 

$ ./practice.pl
yan
3
yan
yan
yan

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangchuang2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值