Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^3: Feature Idea: qr//e

by haukex (Bishop)
on Jan 19, 2017 at 11:53 UTC ( #1179906=note: print w/replies, xml ) Need Help??


in reply to Re^2: Feature Idea: qr//e
in thread Feature Idea: qr//e (updated with solutions)

Hi LanX,

Good thought, unfortunately that suffers from scoping issues (Update: see my reply later in this thread):

$ perl -wMstrict -e 'my $x = $_ for "a"; print $x' Use of uninitialized value $x in print at -e line 1.

Regards,
-- Hauke D

Replies are listed 'Best First'.
Re^4: Feature Idea: qr//e
by LanX (Cardinal) on Jan 19, 2017 at 14:03 UTC
    Well as I said, I couldn't test while posting from mobile.

    I though that post-fix-for doesn't have an own scope, analogous to post-fix-if

    So I ran a test and it turned out that post-fix-for is neither fish nor flesh, it's pretending and denying having an own scope ... ugh ...oO

    please notice how the redeclaration of $x is reported but the value gets lost.

    Looks like a bug...

    use strict; use warnings; my $y=666 if 1; warn $y; my $x=1; my $x=42 for 1; warn $x;

    "my" variable $x masks earlier declaration in same scope at c:/tmp/pm/ +scope_postfix_for.pl line 12. 666 at c:/tmp/pm/scope_postfix_for.pl line 7. Use of uninitialized value $x in warn at c:/tmp/pm/scope_postfix_for.p +l line 16. Warning: something's wrong at c:/tmp/pm/scope_postfix_for.pl line 16.

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!

      Hi LanX,

      I think it's this:

      NOTE: The behaviour of a my, state, or our modified with a statement modifier conditional or loop construct (for example, my $x if ...) is undefined. The value of the my variable may be undef, any previously assigned value, or possibly anything else. Don't rely on it. Future versions of perl might do something different from the version of perl you try it out on. Here be dragons.

      Regards,
      -- Hauke D

        > Future versions of perl might do something different from the version of perl you try it out on

        Hopefully! :)

        Cheers Rolf
        (addicted to the Perl Programming Language and ☆☆☆☆ :)
        Je suis Charlie!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1179906]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (8)
As of 2020-11-30 23:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?