In article <476A087E.3070000 / davidflanagan.com>,
  David Flanagan <david / davidflanagan.com> writes:

>    /(?<firstchar>.)(?<secondchar>.)/ = 'foo'
>    firstchar   # => 'f'
>    secondchar  # => 'o'

I think it is possible idea.

However I see an issue about the value of the assignment.

In Ruby, an assignment expression returns the value of right
hand side expression consistently.  But if the return value
of "regexp-based destructuring assignment" is the right hand
side string, the value is useless to check the pattern is
matched or not.  If the assignment returns some value to
check the match, it breaks the consistency.
-- 
Tanaka Akira