Dear Tom, Thank you for your help. You solved my problem.
And I apologize because I understood Jenda's advice very slowly. Again thanks. === On Fri, 12 Oct 2007 19:40:16 -0700 "Tom Phoenix" <[EMAIL PROTECTED]> wrote: > On 10/12/07, Patrik Hasibuan <[EMAIL PROTECTED]> wrote: > > > Please tell me my mistake. > > I'll catch enough to give you something to do, and leave the rest for > you and others to find. :-) > > > use HTML::Parser; > > It looks as if you're not subclassing HTML::Parser. Isn't that > obligatory? Jenda already gave you good advice: > > You should reread the HTML::Parser's docs and try to parse a > simple, short static HTML > > Once you can get a parser working on static text, then you can easily > convert it to work with LWP. > > > my @result=''; > > my @judul=''; > > my @bodi=''; > > When a scalar value (such as a string) is used in a list context, the > scalar is silently promoted to a one-element list. That means that > these three arrays each contain one item, and that item is an empty > string. It's as if you had written this: > > my @result = my @judul = my @bodi = (''); > > Is that your intention? If you want an array to start out empty, your > wish has been granted; every new array in Perl starts out empty by > default: > > my(@result, @judul, @bodi); # all start out empty > > > my $retrieveresult = $ua->request($req); > > > > my $p=HTML::Parser->new(text_h=>[\&text,'dtext']); > > $p->parse($retrieveresult); > > I don't think that $retrieveresult is what you think. As I read the > docs, "The return value is a response object," not the parsable > response text. (It seems Jenda tried to tell you about that, too. > Shame on you for not reading more carefully.) > > http://search.cpan.org/~gaas/libwww-perl-5.808/lib/LWP/UserAgent.pm > > Check that you're using these modules according to their > documentation. But if you're still having troubles, you could use the > debugger to see what's really happening. The easiest way to do that in > this kind of program is by putting a line like this one at an > interesting point in your algorithm: > > $DB::signal = 1 if defined $fred and $fred > $barney; > > When the condition triggers (if, of course, you choose to use a > condition), if your program is running under the debugger, it will > halt before the next statement. You could use this technique to debug > your subroutine &text, for example. (I don't think it's parameters are > what you expect.) > > Good luck with it! > > --Tom Phoenix > Stonehenge Perl Training > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > http://learn.perl.org/ > > -- Patrik Hasibuan <[EMAIL PROTECTED]> Junior Programmer -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/