http://qs321.pair.com?node_id=863788


in reply to Script/module formatting gotcha

I use this form quite often... my ($val) = () = something; I also use $this->{key} = my $val = 7;; it's not a bug. The assignment has a value of the rvalue. Neat!! If you understand this, I don't understand the question... What if I wanted to do this?
$this->{key} = # this is an important note about the next assignment my $val = blarg();
Should I have to then tell critic to ## no critic that?

Replies are listed 'Best First'.
Re^2: Script/module formatting gotcha
by morgon (Priest) on Oct 06, 2010 at 14:01 UTC
    The problem is not that the construction as such is problematic, but that the format of the source-code makes it had to see immediately what is happening (at least that is how I understand the question).

    And I am afreid that neither perltidy nor perlcritic would have helped a lot here.

    But perl -MO=Deparse <your script> would have.

Re^2: Script/module formatting gotcha
by mjscott2702 (Pilgrim) on Oct 06, 2010 at 13:52 UTC
    It's not the construct of assigning an assignment to a variable that I am questioning here, I too use this all the time.

    The source of my confusion were the hundreds of comment lines between the left and right-hand sides. IMHO, this is a way of making the code more unreadable - yes comments can do that! In your example (which, to be fair has only a single comment line, and is less likely to be confusing), I think it would be clearer to write:

    $this->{key} = my $val = blarg(); # this is an important note about the previous +assignment