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).