Skip to content

inconsistent behavior due to my in false conditional #18070

Open
@vividsnow

Description

@vividsnow

Hello

use strict;
use warnings;

($,, $\) = (',', "\n");

# case 1
print 'case 1';
for (1..3) {
    my @v;
    push @v, $_ if 0;
    push @v, $_;
    print @v
}

# case 2
print 'case 2';
for (1..3) {
    push my @v, $_ if 0;
    push @v, $_;
    print @v
}

results:

case 1
1
2
3
case 2
1
1,2
1,2,3

I'm expecting similar output in case 2 as in case 1, but its not and none warnings reported.

Similar issue with other perl versions: https://perlbanjo.com/681bc605bc

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions