Did some testing, / / will operate on $_ implicitly, so that's not why it no longer works as it did. e.g. while gets print if /start/ end will print the line containing start. So I'm guessing that / / changed what it returns (Matchdata or nil) compared to what it used to return prior to 1,8 (Fixnum or nil) and that breaks using it by itself with ranges. Of course, this is all considered bad form in Ruby now anyhow. Still, it's very nice for command-line 1 lines ( ruby -n -e 'print if /ruby/' input.txt ) Nick On Fri, 21 Jan 2005 16:41:55 -0500, Nicholas Van Weerdenburg <vanweerd / gmail.com> wrote: > That's no longer supported as of 1.8, but unfortunately gives no > error, according to page 64 of PickAxe2. > > while line = gets > puts line if line =~ /start/ .. line =~ /end/ > end > > is the correct form now. > > Note: gets and print still operate magically on $_ in 1.8.2 but I'm > guessing / / doesn't, and hence that example no longer working. > > More in line with the original example, I'd guess that this also works: > > while gets > print if $_ =~ /start/ .. $_ =~ /end/ > end > # $_ implicit for gets and print > > Regards, > Nick > -- > Nicholas Van Weerdenburg > > On Sat, 22 Jan 2005 06:10:58 +0900, William James <w_a_x_man / yahoo.com> wrote: > > > > Trevor Wennblom wrote: > > > > > > http://www.zenspider.com/Languages/Ruby/QuickRef.html > > > > > > That site has this: > > > > # prints lines starting at 'start' and ending at 'end' > > while gets > > print if /start/../end/ > > end > > > > Is that correct? > > > > > -- Nicholas Van Weerdenburg