The => after the first arguments look nice, especially since the first arguments are instance handles, and I use them as a hash key.my $s = Scope->new( probe => $netlist ) ->anatrace( in => [ 'System input', 'active', 1 ], out_1 => [ 'Lpf bank1', 'active', 1 ], out_2 => [ 'Lpf bank2', 'active', 1024 ], out => [ 'System output', 'active', 1 ], bank2 => [ 'Switch pos', 'active', 1 ], ) ->generate();
In this example the arguments to anatrace really aren't mutators, they are constructors of sub-objects. They are waveforms being added to a scope display.
Is the problem that you perceive just with mutators, or does it also apply to sub-object constructors? Can you provide examples of acceptable method chaining, and contrast it with problematic method chaining?