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


in reply to Re^3: Problem with ampersand and regex
in thread Problem with ampersand and regex

I get mail=asdf.com ? ?

Replies are listed 'Best First'.
Re^5: Problem with ampersand and regex
by davido (Cardinal) on Dec 19, 2012 at 21:48 UTC

    Add the following to your script:

    use Data::Dumper;

    ...and then on the line immediately preceding your "for" loop, add, "print Dumper \@array;".

    There might be something broken in your input data, and that would be a simple means of identifying (or eliminating) it as a problem.


    Dave

      Done and here is a sample of what I got back:
      ', 'sn: ThisUser ', 'mail: ThisUser@somewhere.com ', 'cn: This User ', 'uid: MyUID
      Now what?

        Well, that does tell us that you're not chomping the input, which you should be doing. chomp @array; would take care of that problem. What it doesn't show me is how the following would fail:

        my @array = ( 'sn ThisUser', 'mail: ThisUser@somewhere.com', 'cn: This User', 'uid: MyUID', ); foreach my $line ( @array ) { if( $line =~ m/^mail:\s+([\S]+)/ ) { print "$1\n"; } }

        It doesn't fail on my system, which leads me to believe that the problem is in a portion of your code that we're not seeing, or in your data-set. If your data-set looks clean, we're back to the portion of the code that we haven't been shown.


        Dave