in reply to Textarea boxes in CGI

Sorry, I'm not very psychic. Perhaps you could post the stripped down sample code that's causing you problems and then we can try and help?

cLive ;-)

Replies are listed 'Best First'.
Re: Re: Textarea boxes in CGI
by eweaverp (Scribe) on Jun 17, 2003 at 18:56 UTC
    use CGI; my(@v) = split(/\n/, param('textbox')); chomp(@v); print @v;
    results in an HTML file with, for instance, if textbox contained:
    BLAH
    BLAH
    BLAH
    
    the same thing, whereas I want it to be:
    BLAHBLAHBLAH
    
      Here are a couple of succinct methods:
      my $ta = param('textbox'); $ta =~ s/\r?\n//g; print $ta; # or if you really want an array: my @v = split /\r?\n/, param('textbox');
      I'm not 100% sure whether *all* browsers will send the \r, hence the ? in the regex.

      .02

      cLive ;-)

      Given the advice of the others (you have a pesky \r that's causing the 'problem'), how about spliting on a zero or one carriage return(s), followed by one newline?
      use Data::Dumper; my @v = split(/\r?\n/, param('textbox')); print Dumper \@v;
      Note the use of Data::Dumper. Don't leave home without it. ;)

      UPDATE: Got \r and \n backwarks (again!) and cLive ;-) beat me to the punch, i should have checked back before i posted. Anyhoo ... all of this should have you covered. If you care to read more about what causes this confusion then check out A Little History on 0D0A and it's replies.

      jeffa

      L-LL-L--L-LL-L--L-LL-L--
      -R--R-RR-R--R-RR-R--R-RR
      B--B--B--B--B--B--B--B--
      H---H---H---H---H---H---
      (the triplet paradiddle with high-hat)