For Programmers: Free Programming Magazines  


Home > Archive > PERL Miscellaneous > September 2004 > Newbie: String concatenation limited to 256 characters?









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Newbie: String concatenation limited to 256 characters?
Piet

2004-09-29, 8:05 pm

Hello,
I have written a small script that parses an (ugly) HTML file line by
line and converts the relevant information to CSV. During parsing, I
heavily use string concatenation to glue together parts of text that
belong together (but might be separated in the original file by tags
or newlines). In the code, the expression
$oldstring = $oldstring.$newstring
occurs very often.
Frequently, the strings get longer than 256 characters. At this point,
the string concatenation refuses to add anything to $oldstring. How is
it possible to avoid that?
Thanks in advance for answers on a (maybe very newbish) question
Piet
A. Sinan Unur

2004-09-29, 8:05 pm

pit.grinja@gmx.de (Piet) wrote in news:39cbe663.0409290925.2e735196
@posting.google.com:

> Hello,
> I have written a small script that parses an (ugly) HTML file line by
> line and converts the relevant information to CSV. During parsing, I
> heavily use string concatenation to glue together parts of text that
> belong together (but might be separated in the original file by tags
> or newlines). In the code, the expression
> $oldstring = $oldstring.$newstring
> occurs very often.
> Frequently, the strings get longer than 256 characters. At this point,
> the string concatenation refuses to add anything to $oldstring. How is
> it possible to avoid that?
> Thanks in advance for answers on a (maybe very newbish) question
> Piet


Your post appeared twice. Please don't post multiple copies of the same
question.

You'll need to provide a short self-contained script that still exhibits
the problem to support such an outrageous claim.

#! perl

use strict;
use warnings;


my $str = 'a';

$str .= 'a' for (1 .. 999_999);

print length($str), "\n";

__END__



--
A. Sinan Unur
1usa@llenroc.ude.invalid
(remove '.invalid' and reverse each component for email address)

Paul Lalli

2004-09-29, 8:05 pm

"Piet" <pit.grinja@gmx.de> wrote in message
news:39cbe663.0409290925.2e735196@posting.google.com...
> Hello,
> I have written a small script that parses an (ugly) HTML file line by
> line and converts the relevant information to CSV. During parsing, I
> heavily use string concatenation to glue together parts of text that
> belong together (but might be separated in the original file by tags
> or newlines). In the code, the expression
> $oldstring = $oldstring.$newstring
> occurs very often.
> Frequently, the strings get longer than 256 characters. At this point,
> the string concatenation refuses to add anything to $oldstring. How is
> it possible to avoid that?
> Thanks in advance for answers on a (maybe very newbish) question
> Piet


You've misdiagnosed your problem. Perl is very capable of dealing with
arbitrarily long strings. Therefore, the strings are being cut off by
something else. My guess would be a fixed length database field that
you might be storing them in. Since you didn't provide any code, we
have no way of pointing to you to what your actual problem is.

Paul Lalli


Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com