1、 写一个功能与cat相似的程序,但将各行内容反序后输出
print reverse <>;
print的参数是所要输出的字符串列表,也就是在列表上下文中调用reverse的结果。reverse的参数是要被倒置的字符串列表,也就是在列表上下文中调用钻石操作符的结果。钻石操作符所返回的列表是由用户选择的所有文件里的每一行所组成的。这个列表与cat命令所输出的结果相同。于是reverse会将此列表倒置,再交由print输出
2、写一个程序,要求用户分行键入各个字符串,然后以20个字符宽、向右对齐的方式输出每个字符串。为了确定输出结果在适当的字段中,请一并输出由数字组成的“标尺行(rule line)”
#!/usr/bin/perl
print "Enter some lines, then press Ctrl-D:\n";
chomp(my @lines = <STDIN>);
print "1234567890"x3, "\n";
foreach (@lines){
printf "%20s\n", $_;
}
3、修改上一个程序,让用户自行选择字符宽度,因此在键入30的时候,hello、good-bye(在不同行上)应该会向右对齐到第30个字符。附加题:根据用户键入的宽度,自动调整标尺行的宽度。
#!/usr/bin/perl
print "What column width would you like?";
chomp(my $width = <STDIN>);
print "Please entersome lines, then press Ctrl-D:\n";
chomp(my @lines = <STDIN>);
print "1234567890" x (($width+9)/10),"\n";
foreach (@lines){
printf "%${width}s\n", $_;
}