#!/usr/bin/perl
use Modern::Perl '2011';
use autodie;

my @a;
while( <> ) {
    chomp;
    my @temp if /^start$/;
    if( /^end$/ ) {
        push @a, [ @temp ];
    } else {
        push @temp, $_;
    }
}

for my $name ( @a ) {
    say join ", ", @$name;
}


On Fri, Jul 12, 2013 at 8:39 PM, John W. Krahn <jwkr...@shaw.ca> wrote:

> Dr.Ruud wrote:
>
>> On 12/07/2013 13:44, Agnello George wrote:
>>
>>> hi
>>>
>>>
>>> i have raw data that is like this in a flat file .
>>>
>>> start
>>> name:agnello
>>> dob:2 april
>>> address:123 street
>>> end
>>> start
>>> name:babit
>>> dob:13 april
>>> address:3 street
>>> end
>>> start
>>> name:ganesh
>>> dob:1 april
>>> address:23 street
>>> end
>>>
>>>
>>> i need to get the data in the following format
>>>
>>> name:agnello, dob:23 april ,address:123 street
>>> name:babit,dob:13 april,address:3 street
>>> name:ganesh,dob:1 april,address:23 street
>>>
>>
>> perl -0 -wple 's/^start\n(.*?)\nend\n/$_=$1;**y{\n}{ };"$_\n"/emgs'
>>
>
> That should probably be:
>
> perl -0777ple's/^start\n(.*?)\nend/**($x=$1)=~y{\n}{,};$x/emgs'
>
>
>
>
>
> John
> --
> Any intelligent fool can make things bigger and
> more complex... It takes a touch of genius -
> and a lot of courage to move in the opposite
> direction.                   -- Albert Einstein
>
>
> --
> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> For additional commands, e-mail: beginners-h...@perl.org
> http://learn.perl.org/
>
>
>

Reply via email to