develooper Front page | perl.beginners | Postings from February 2009

Re: Add Line break when first of a line changes

Thread Previous
From:
Jack Butchie
Date:
February 15, 2009 06:39
Subject:
Re: Add Line break when first of a line changes
Message ID:
000e01c98f7b$33d58370$400110ac@cooldaddio
Wow, fast response.  Thanks everyone.

I keep getting a space where there shouldn't be. I am running this on our 
test server with windows 2000. Is Mr. Windows being bad?

FENCES WHITE BAD
FENCES WHITE BAD
FENCES WHITE BAD
FENCES WHITE BAD

LAWN SEED GOOD BAD
LAWN SEED GOOD BAD

LAWN SEED GOOD BAD

TREES BAD BAD
TREES BAD BAD
TREES BAD BAD
TREES BAD BAD

WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD
WAFFLES BAD BAD GOOD




----- Original Message ----- 
From: "Telemachus" <telemachus@arpinum.org>
To: <beginners@perl.org>
Sent: Sunday, February 15, 2009 8:07 AM
Subject: Re: Add Line break when first of a line changes


> On Sun Feb 15 2009 @  7:25, Jack Butchie wrote:
>> I have a txt file of products that I would like to be able to insert a
>> blank line whenever the name of the product changes, to make it easier to
>> read.  I found this srcipt hunting about but I don't know how to apply it
>> to the text file. I've tried all kinds of different things but just don't
>> get it.
>
> Do you already have Perl installed on your computer? If so, you can run it
> as follows. Save the Perl script with whatever name you like - say,
> new_liner. Then enter this into a terminal:
>
>    perl new_liner filename
>
> Instead of 'filename', enter the name of the file you want to work on. The
> two files should be in the same directory for this to work. Otherwise, you
> will need to enter the full path of the file,
>
>    perl new_liner /path/to/filename
>
> You should get output like this:
>
>    telemachus ~ $ perl new_liner feed
>    LAWN SEED     34.00    RED
>
>    LAWN SEED1    36.00    BLUE
>    LAWN SEED1    36.00    BLUE
>    LAWN SEED1    36.00    BLUE
>
>    LAWN SEED2    37.00    PINK
>
> Assuming that the output comes out as you want it, you can save it to a 
> new
> file with redirection:
>
>    perl new_liner feed_file > new_feed_file
>
> In a nutshell, the script is taking a single filename as an argument,
> opening the file and then checking line n for equality with n-1. It will
> work with exactly the setup you describe, but it's not a very maintainable
> situation (a single extra space or typo will bork the equality test, 
> there's
> no way to deal with too many or two few filenames entered on the command
> line, etc.).
>
> As a more general rule, I would have to recommend *not* running scripts 
> you
> don't understand that you find floating around on the interwebs.
>
> Hope this helps, T
>
>
> -- 
> To unsubscribe, e-mail: beginners-unsubscribe@perl.org
> For additional commands, e-mail: beginners-help@perl.org
> http://learn.perl.org/
>
> 


Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About