http://www.perlmonks.org?node_id=991729


in reply to Re^4: write and read the same file not display the output
in thread write and read the same file not display the output

Hey thanks for the nice reply, but I was not aware of a difference in the regex with the parentheses (though I updated my post): It would be good if you can point it out for me, always up for learning more Perl ! :-)

print $1 if /^$name$/; #or print $1 if /^($name)$/;

Replies are listed 'Best First'.
Re^6: write and read the same file not display the output
by Kenosis (Priest) on Sep 05, 2012 at 04:53 UTC

    $1 is initialized via regex captures which use parentheses. For example, in the following:

    my $string = 'Frank'; my $name = 'Frank'; print $1 if $string =~ /^$name$/; print $1 if $string =~ /^($name)$/;

    The first print statement produces:

    Use of uninitialized value $1 in...

    Whereas, the second print shows the value in $1:

    Frank

      ahh I see, thats valuable information I lost along the way haha thank you for taking the time to explain. Enjoy your week! -Rudolf