SPUG: Removing newlines from a multi-line string - questions

Dan Ebert dan at enic.cc
Wed Mar 14 13:50:04 CST 2001


I am fairly sure that perl treats the \n and \r as distinct entities
when a script is run on a UNIX platform.  So you would need the
s/[\n\r]//g to make sure you're getting rid of what you want.  I don't
know if perl handles \n & \r  differently on a Windows platform.


-----------------------------------------------------------
Dan Ebert    dan at enic.cc    eNIC Corporation

"I haven't lost my mind; I know exactly where I left it."
-----------------------------------------------------------

Lorraine Johnson wrote:
> 
> Enlightenment search:
> 
> 1.  Joshua writes:
> "The problem is that it puts newline characters in the HTML at the end of
> every line in the HTML blob"
> Um, doesn't the phrase "at the end of every line" imply that the HTML blob
> already HAS newlines (end-of-line markers), and that Perl is PRESERVING
> rather than ADDING newlines?
> 
> 2.  David writes
> "on Windows, you are dealing with two characters at the end of each line"
> My understanding is that Perl knows what and how many characters actually
> comprise a newline (EOL) and handles them transparently.  For example, on
> Windows, \n is equivalent to CR plus LF.  Doesn't a requirement to handle
> text processing differently depending on platform go against the idea of
> Perl portability?
> 
> Thanks,
> 
> Lorraine
> 
> -----Original Message-----
> From: David Vergin [mailto:dvergin at igc.org]
> Sent: Wednesday, March 14, 2001 1:41 AM
> To: Joshua Lanza; spug-list at pm.org
> Subject: RE: SPUG: Removing newlines from a multi-line string
> 
> If you are on Windows, you are dealing with two characters at the end of
> each
> line: \r and \n.
> (And you don't need /i (case-insensitive matches)). So try:
> 
>     $html =~ s/[\n\r]//g;
> 
> dv
> 
> > -----Original Message-----
> > From: owner-spug-list at pm.org [mailto:owner-spug-list at pm.org]On Behalf Of
> > Joshua Lanza
> > Sent: Wednesday, March 14, 2001 12:01 AM
> > To: spug-list at pm.org
> > Subject: SPUG: Removing newlines from a multi-line string
> >
> >
> > Hi all,
> >
> > I have a script that gets a chunk of HTML from an access database and
> plunks
> > it into a template.  The problem is that it puts newline characters in the
> > HTML at the end of every line in the HTML blob, which is (1) unseemly and
> > (2) making it difficult to manipulate the text after the pages are
> > generated.
> >
> > I store the text in $html and then try
> >
> >         $html =~ s/\n//ig;
> >
> > but nothing seems to happen.  If this worked it would solve (2) from above
> > but wouldn't help (1).  I guess what I'm really looking for is why I'm
> > getting the extra newlines in the first place.  Any thoughts greatly
> > appreciated,
> >
> > Josh
> >

--

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     POST TO: spug-list at pm.org       PROBLEMS: owner-spug-list at pm.org
      Subscriptions; Email to majordomo at pm.org:  ACTION  LIST  EMAIL
  Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
 For daily traffic, use spug-list for LIST ;  for weekly, spug-list-digest
  Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/





More information about the spug-list mailing list