http://www.perlmonks.org?node_id=11121119


in reply to Re^5: Split tab-separated file into separate files, based on column name (tangent = open on demand => stream-like)
in thread Split tab-separated file into separate files, based on column name

I'm not much of a fan of operator overloading anyway. But I thought it was a nice thought experiment, and again, maybe acceptable for oneliners.

I still tried to cheat the system and go around the "useless use [...] in voix context" by using <<= instead of << because $magic << "Value"; returns $magic itself so $magic <<= "Value"; works fine.
Except it failed when trying to turn this: $magic << "Value" << "Other value"; into $magic <<= "Value" <<= "Other value";, because << is a left associative operator and <<= is a right associative one. Meanig you've just turned ($magic << "Value") << "Other"; into $magic <<= ("Value" <<= "Other");. Whoops.

So yes, the lesson is don't add new semantic to operators kid (yup, I'm looking at you C++).