Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: Problem with ampersand and regex

by Anonymous Monk
on Dec 19, 2012 at 20:46 UTC ( #1009633=note: print w/ replies, xml ) Need Help??


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

You are correct and thank you for pointing that out. Unfortunately, I am still having problems though. In an attempt to make the post easy to read, I left out some of the code and that makes the answer thus far impossible as far as I can see. Here is how my code should have looked:

foreach my $line (@array) { if ($line =~ /mail: /) { my $mail = substr($line, $+[$#+] ); print "mail=$mail\n"; } }
With that, I see no way to use the single quotes as suggested. Any other possible solutions??

Thank you again.


Comment on Re^2: Problem with ampersand and regex
Download Code
Re^3: Problem with ampersand and regex
by davido (Archbishop) on Dec 19, 2012 at 21:11 UTC

    What do you get if you capture?

    if( $line =~ /^mail:\s+([\S]+)$/ ) { my $mail = $1; print "mail=$mail\n"; }

    Dave

      I get mail=asdf.com ? ?

        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

Re^3: Problem with ampersand and regex
by roboticus (Canon) on Dec 19, 2012 at 22:25 UTC

    The '@' isn't a problem when you read it from a file. Only if you're using it in a double-quoted string. For example:

    $ cat t.pl #!/usr/bin/perl use strict; use warnings; my @array = <DATA>; foreach my $line (@array) { if ($line =~ /mail: /) { my $mail = substr($line, $+[$#+] ); print "mail=$mail\n"; } } __DATA__ This @ should be just fine mail: this @ should also be fine $ perl t.pl mail=this @ should also be fine

    ...roboticus

    When your only tool is a hammer, all problems look like your thumb.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (5)
As of 2014-09-20 10:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (158 votes), past polls