# New Ticket Created by Father Chrysostomos # Please include the string: [perl #128719] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=128719 > This behaves as expected: $ ./perl -Ilib -we 'my $y if 0; my $y' Deprecated use of my() in false conditional at -e line 1. "my" variable $y masks earlier declaration in same scope at -e line 1. If I accomplish the same thing inside a subroutine signature, I get the wrong warning: $ ./perl -Ilib -wE 'use experimental "signatures"; sub foo($x=0 && my $y, $y=1) {}' Deprecated use of my() in false conditional at -e line 1. "state" variable $y masks earlier declaration in same scope at -e line 1. There is no state variable there. I get the same results from 5.20.1 to 5.25.3. -- Father ChrysostomosThread Previous