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?
|
|
|
| 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
|
|
|
|
|