in reply to while loop not working

You used my $name twice. It means the second $name is not the same as the first $name, it's a brand new variable whose value doesn't influence the value of the outer variable that's used to exit the loop.

Just drop the "my" from the second assignment.

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]

Replies are listed 'Best First'.
Re^2: while loop not working
by LanX (Saint) on Dec 27, 2019 at 20:50 UTC
    addendum: 'use warnings;' would have shown it.

    DB<27> use warnings; my $x;my$x "my" variable $x masks earlier declaration in same scope at

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

      It wouldn't as the variables have a different scope:
      perl -we 'my $x; while($x) { my $x }'

      map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
        Oops ... you are right! :)

        Cheers Rolf
        (addicted to the Perl Programming Language :)
        Wikisyntax for the Monastery FootballPerl is like chess, only without the dice