http://qs321.pair.com?node_id=432080


in reply to Here document construct problem

As I pointed out in the CB both the here docs and qq or q work for me; so the error is either somewhere else or you forgot to end a HERE doc somewhere. my test case:

$blah = "something"; #$blah printed as $blah print q( <blahtag>blah blah $blah</blahtag> <blahtag>blah blah $blah</blahtag> ); #&printOwner($data{owner1}); #&printOwner($data{owner2}); #&printOwner($data{owner3}); #$blah printed as $blah's value (using q) print q( <blahtag>blah blah ) . $blah . q(</blahtag> <blahtag>blah blah ) . $blah . q(</blahtag> ); #&printOwner($data{owner1}); #&printOwner($data{owner2}); #&printOwner($data{owner3}); #$blah printed as $blah's value (using qq) print qq( <blahtag>blah blah $blah</blahtag> <blahtag>blah blah $blah</blahtag> );

Judging by the amount of HTML your printing using HERE docs in your code, you might want to look at HTML::Template. Which would allow you to seperate your HTML and perl code (which is much easier to debug and update).

"Cogito cogito ergo cogito sum - I think that I think, therefore I think that I am." Ambrose Bierce

Replies are listed 'Best First'.
Re^2: Here document construct problem
by hok_si_la (Curate) on Feb 17, 2005 at 20:53 UTC
    I have actually already begun the tedius process of replacing the here document constructs with q() in all of my scripts. I was just wondering why in this particular script I was running into probs. With regard to your testing i can narrow the entire script down to just that block I showed before and the basic HTML tags and I still get warnings. I looked at the HTML::Template, and would surely use it if I could. I only have two weeks left on the project, and I need to get all 70 + scripts updated to DBI and CGI::simple first. I am currently in the process of adding "use strict" and "use warnings" to every script which is how I ran into this problem in the first place.

    Thanks for all your time,
    hok_si_la