Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

print ip address from string using regex

by flyganji (Initiate)
on Oct 04, 2011 at 15:04 UTC ( #929566=perlquestion: print w/replies, xml ) Need Help??
flyganji has asked for the wisdom of the Perl Monks concerning the following question:

Hi all, First time writing perl question here. Thank you all for help. I have an assignment to write a few lines of code that would match an IP address from $string and store it in a variable called $ip. $string = "My IP is" and the result should be $ip = "" My trial code was

#!/usr/bin/perl $string = "My IP is"; if($string =~/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/{ $ip = $string; } print "$ip\n";

I know this will print out "My IP is" but I can't seem to make find a solution to print just IP = thank you all again for any solution.

Replies are listed 'Best First'.
Re: print ip address from string using regex
by roboticus (Chancellor) on Oct 04, 2011 at 15:28 UTC


    You need to use a group in your regex to capture the match value, as described in perldoc perlre. For example:

    use strict; use warnings; my $string='foo bar baz bow'; if ($string =~ /bar(.*)bow/) { print "between bar and bow is '$1'\n"; }

    gives me:

    $ perl between bar and bow is ' baz '


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

    Update: Added quotes in print statement to show that the whitespace is also captured.

      Thank you all for help.

Re: print ip address from string using regex
by AR (Friar) on Oct 04, 2011 at 15:23 UTC
      i wanna print ip address class also pls tel me the code like is class a is class b like that

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://929566]
Approved by Perlbotics
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (3)
As of 2018-03-18 04:38 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (228 votes). Check out past polls.