Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^3: Feature Idea: qr//e

by haukex (Archbishop)
on Jan 19, 2017 at 11:53 UTC ( [id://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 (Saint) 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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1179906]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (2)
As of 2025-06-17 16:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.