Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

perl regex

by sunil9009 (Acolyte)
on Feb 09, 2013 at 23:10 UTC ( #1017998=perlquestion: print w/replies, xml ) Need Help??
sunil9009 has asked for the wisdom of the Perl Monks concerning the following question:

hi guys, i am trying to grab just the fqdn ( with domainname as xyz.com) from the file with the following contents.
AAA-BBB-CCC aaa-bbb-ccc-2345.xyz.com aa-dg-hj hira.xyz.com ddd-eee-fff-4567.xyz.com ddd-eee-fff vffg.xyz sunil.xyz.com mad.xyz.com
eg: Expected output
aaa-bbb-ccc-2345.xyz.com hira.xyz.com ddd-eee-fff-4567.xyz.com sunil.xyz.com mad.xyz.com
I tried the following code, but it resolves partially.
while (<>) { m/\s*(.*?\.xyz.com)/; print "$1 \n"; }
Any help would be greatly appreciated

Replies are listed 'Best First'.
Re: perl regex
by toolic (Bishop) on Feb 09, 2013 at 23:18 UTC
    use warnings; use strict; while (<DATA>) { while (/\s*([\S]+\.xyz\.com)/g) { print "$1 \n"; } } __DATA__ AAA-BBB-CCC aaa-bbb-ccc-2345.xyz.com aa-dg-hj hira.xyz.com ddd-eee-fff-4567.xyz.com ddd-eee-fff vffg.xyz sunil.xyz.com mad.xyz.com

Re: perl regex
by Kenosis (Priest) on Feb 09, 2013 at 23:19 UTC

    Try the following:

    use strict; use warnings; while (<DATA>) { print "$_\n" for grep /\.xyz\.com$/, split; } __DATA__ AAA-BBB-CCC aaa-bbb-ccc-2345.xyz.com aa-dg-hj hira.xyz.com ddd-eee-fff-4567.xyz.com ddd-eee-fff vffg.xyz sunil.xyz.com mad.xyz.com

    Output

    aaa-bbb-ccc-2345.xyz.com hira.xyz.com ddd-eee-fff-4567.xyz.com sunil.xyz.com mad.xyz.com
Re: perl regex (fqdn)
by Anonymous Monk on Feb 09, 2013 at 23:46 UTC
      Awesome, you guys are real monks !! Enjoy the weekend.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1017998]
Approved by Paladin
help
Chatterbox?
[ambrus]: Corion: as for that, I talked with schmorp, and looked a bit more at Prima
[ambrus]: Corion: from the docs, it definitely looks like it would be possible to write an AnyEvent driver for it using Prima::File and Prima::Timer.
[ambrus]: (I haven't found an idle event.)
[ambrus]: However, I also looked at the internals, and found two interesting things:
[marto]: stupid xpath question, I have a xpath copied from the browser, is the * wildcard supposed to work for IDs? e.g. '//*[@id="*"]/ div/div/header/p/a '?
[ambrus]: The main loop for unixish systems is in https://metacpan. org/source/ KARASIK/Prima-1. 49/unix/apc_app.c. It is a hand-rolled select loop, but also always spins at least once every 0.2 seconds for some reason.
[ambrus]: marto: no, not that way. if you just want to test for an existing id attribute, then write *[@id] , or you can match a regexp to the value of that attribute like *[@id=~/something/ ]
[marto]: ambrus, thanks I ended up going with '//*[starts- with(@id, "thread_")]...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (6)
As of 2016-12-08 10:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (140 votes). Check out past polls.