From: Eric Wong <normalperson@...> Date: 2017-12-26T08:55:27+00:00 Subject: [ruby-dev:50396] Re: [Ruby trunk Bug#14240] warn four special variables: $; $, $/ $\ Shouldn't English posts be on ruby-core instead of ruby-dev? matz@ruby-lang.org wrote: > Agreed. > > Besides that, we should warn for `$=` and `$.`, I think. I find $., $\, and $/ useful for oneliners, at least. $. especially I'm fine with awk-compatible English.rb names ($NR, $ORS, $RS) by default, but I do not like the long names in English.rb. I like having some awk and Perl-isms in Ruby :> (quoting the rest for -core) > Matz. > > > ---------------------------------------- > Bug #14240: warn four special variables: $; $, $/ $\ > https://bugs.ruby-lang.org/issues/14240#change-68967 > > * Author: akr (Akira Tanaka) > * Status: Open > * Priority: Normal > * Assignee: > * Target version: > * ruby -v: > * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN > ---------------------------------------- > I think the four special variables for separators should be deprecated. > > ``` > $/ input record separator (default argument for "gets") > $\ output record separator ("print" prints it at last) > $, default separator for Array#join and print > $; default separator for String#split > ``` > > I feel many program doesn't work if they are set to non-default value. > > Since they are global, not thread local, > we can not change these variables safely in a multi threaded program. > > So, I think we should warn them (and delete them in future).