《新手问题》chomp reverse print 可以在一行内写出来吗?

《新手问题》chomp reverse print 可以在一行内写出来吗?

chomp (@var = <>);
@var = reverse @var;
print "@var\n";

我想把这三句,放一行上写,一句搞定
print reverse(chomp(<>)); 报错

请教该怎么写?
Can't modify <HANDLE> in chomp at - line 1, near "<>)"
Execution of - aborted due to compilation errors.


我和你一起等吧
不可以。
如果非要写一行,
那就用分号隔开吧。
chomp 会修改它的参数,因此直接传递 <> 给它是不行的。
而且 chomp 返回的也不是 chomp 后的结果,而是 chomp 掉的字符个数,因此不能串起来调用 reverse。
print reverse(chomp(<>)); 报错
对<>是不能chomp的,
print reverse(chomp(@var=<>)); 不会报错,但是结果是错误的
因为chomp返回的是去掉的字符数,比如你输入了3行,就返回3(去掉了3个换行),那你就只能print出来3了……

QUOTE:
chomp(@ary=<>);
print reverse @ary;

不明白为什么非要写成一行呢……
每次都被flw抢………………


QUOTE:
原帖由 royalzhang 于 2007-9-4 17:16 发表
每次都被flw抢………………

差了12分钟呢~


QUOTE:
原帖由 perljoker 于 2007-9-5 17:13 发表

差了12分钟呢~

我“卡卡卡”把新贴都打开,然后一个个看,回复……打开的时候没人回复,等我回复完,前面已经插队了……
呵呵
你看一个回复一个就不怕被抢了