学习Perl语言入门(东南大学出版),看到课后有习题,就自己尝试进行解答并测试运行的题集。
第一章 简介
ex1-1:
#!/usr/bin/perl
$n = "Hello world!";
print $n;
哈哈,程序语言学习的惯例,Hello world!
ex1-2:
perldoc -u -f atan2
这是调用显示perl的内置函数:反正切函数
ex1-3:
#! /usr/bin/perl
@lines = `perldoc -u -fatan2`;
foreach (@lines) {
s/\w<([^>]+)>/\U$1/g;
print;
}
运行结果显示内容和1-2相同,不过是直接显示在命令行界面
第二章 标量数据
ex2-1:
#!/usr/bin/perl
$r = 12.5;
$length = $r * 2 * 3.141592654;
print "$length \n";
ex2-2:
#!usr/bin/perl
$r = <STDIN>;
$length = $r * 2 * 3.141592654;
print "$length \n";
ex2-3:
#!/usr/bin/perl
$r = <STDIN>;
if ($r > 0) {
$length = $r * 2 *3.141592654;
print "$length \n";
} else {
print "0";
}
ex2-4:
#!/usr/bin/perl
print “please input first num: \n”;
$num1 = <STDIN>;
print "please input second num: \n";
$num2 = <STDIN>;
$sum = $num1 * $num2;
print "The sum is $sum \n";
ex2-5:
#!/usr/bin/perl
print "please input a word: \n";
$char = <STDIN>;
print "please input a num: \n";
$num = <STDIN>;
while ($num > 0) {
print "$char\n";
$num = $num -1;
}
第三章 列表与数组
ex3-1:
#!/usr/bin/perl
print "please input some chars:\n";
@char = <STDIN>;
@reverse_char = reverse @char;
chomp(@reverse_char);
print "@reverse_char\n";
ex3-2:
#!/usr/bin/perl
print "please input some num: \n";
@name = qw(allen bill coco dawei ella );
@num = <STDIN>;
foreach $index (@num) {
print "$name[$index -1]\n";
}
ex3-3:
#!/usr/bin/perl
print "please input some words:\n";
chomp(@char = <STDIN>);
@char = sort @char;
foreach $index (0 .. $#char) {
print "$char[$index]"\n;
}
print "@char\n";
第四章 子程序
ex4-1:
#!/usr/bin/perl
sub total {
foreach (@_) {
$sum = $sum + $_ ;
}
$sum;
}
ex4-2:
my $user_total = &total(<STDIN>);
ex4-3:
第五章 输入与输出
ex5-3:
仅以2行字符串为例(多行输入参考数组方法)
#!/usr/bin/perl
print "please input char width:\n";
$width = <STDIN>;
print "then please inout chars:\n";
$char1 = <STDIN>;
$char2 = <STDIN>;
$s = "s";
$width = $width +1;
chomp($width2);
$format = "%$width2$s";
$n =0;
$m =0;
while ($n < $width) {
$n = $n +1;
$m = $m +1;
if ($m > 9) {
$m = 0;
}
}
printf "$format" , $char1;
printf "$format\n" ,$char2;