第五章 输入与输出习题

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", $_;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值