Calling it a bug may be a bit premature. Perhaps %fields holds the default state of a new object, and new isn't intended to take parameters. Those fields should be manipulated otherwise. At the very least, $self isn't a reference to %fields itself, but a copy of the contents of %fields.
There is a completely plausible explanation for this code, IMO. Without greater context, it's impossible to see. Besides, it doesn't, IMO, detract from the rest of the OP's post and probably didn't need to be singled out.
In reply to Re^2: A work of art
by Tanktalus
in thread A work of art
by hesco
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |