Robert Klemme
4/16/2007 11:05:00 AM
On 16.04.2007 00:08, Chad Perrin wrote:
> On Mon, Apr 16, 2007 at 03:40:17AM +0900, Ken Bloom wrote:
>> On Mon, 16 Apr 2007 03:06:58 +0900, Chad Perrin wrote:
>>
>>> Over the years, I've found the following to be an excellent way to whip
>>> up quick, very useful Perl scripts:
>>>
>>> #!/usr/bin/perl
>>>
>>> while(<>) {
>>> # do stuff . . .
>>> }
>>>
>>> Is there an equivalent idiom in Ruby? So far as I'm aware, there's no
>>> catch-all diamond operator in Ruby that allows one to create a default
>>> input behavior for a script that accepts either a filename or piped
>>> output of another command the way this works in Perl. I certainly hope
>>> there's an equivalent, though.
>> ARGF.each do |line|
>> # do stuff
>> end
>
> Thanks muchly. Armed with this seed of knowledge (to mix a metaphor), I
> can find the rest via Google easily. I appreciate it.
You can also use one of the command line switches -n or -p, e.g.
13:04:42 [tmp]: ls -l | ruby -ne 'puts "<#{$_[0,3]}>"'
<tot>
<-rw>
<lrw>
13:04:59 [tmp]:
Kind regards
robert