sandy1028 has asked for the wisdom of the Perl Monks concerning the following question:

This node falls below the community's threshold of quality. You may see it by logging in.
  • Comment on Extract part of string and remove the rest

Replies are listed 'Best First'.
Re: Extract part of string and remove the rest
by puudeli (Pilgrim) on Feb 19, 2009 at 12:53 UTC

    Please see:

    You should also give a more detailed description (eg. what lines do you want to capture and what do you want to remove?) and a sample code that fails to do what you want to do. That way monks can help you much more efficiently.

    --
    seek $her, $from, $everywhere if exists $true{love};
      Location: http://www.google.com Status Code: 200 OK <br /> File : http://www.aby.cos Status code: 500 Server Error
      I have to extract only http://www.google.com and http://www.aby.cos and remove the other text for the lines

        You could use split or regular expressions.

        perl -e '$s="Location: http://www.google.com Status Code: 200 OK"; @pc +s = split(/ /, $s); for ( @pcs ) { print $_ . "\n" if /http/; }'
        which produces
        http://www.google.com
        or
        #! /usr/bin/perl use strict; use warnings; my @hits; while( <DATA> ) { chomp; push @hits, $1 if $_ =~ /\w*(http:\S+)/; } print join("\n", @hits) . "\n"; 1; __DATA__ Location: http://www.google.com Status Code: 200 OK <br /> File : http://www.aby.cos Status code: 500 Server Error
        which produces
        http://www.google.com http://www.aby.cos
        --
        seek $her, $from, $everywhere if exists $true{love};