in reply to inserting HTML file in a PERL script

I would second scooterm's comment. In addition, the answers above dont really solve your problem:

To sum up, by the time perl starts executing you want it to run exactly as your program does now. But for you (while developing) you want the html fragments in their own file, to edit with Frontpage and use Perl's existing $variable syntax.

Consider using a source filter.

package Insert; use Filter::Simple; sub slurp { my $file = shift; my ($str, $in); open($in, $file) or die $!; local $/ = undef; $str = <$in>; close $in; return $str; } FILTER { 1 while $_ =~ s/INSERT\(\s*?["']?([^"']*?)["']?\s*?\)/slurp($1)/e; + } 1;

This will paste the contents of files into your script before perl begins executing.

  1. Save the above code with the rest of your program as Insert.pm
  2. add use Insert; to the top of your script
  3. Cut the contents of each heredoc and paste into a new file
  4. Replace the heredoc contents with INSERT("/path/to/that/file")

So this

my $variable = "World!"; print <<EOT; Hello $variable EOT

would become this

use Insert; my $variable = "World!"; print <<EOT; INSERT("includeme.txt") EOT
With the file includeme.txt being
Hello $variable

This will do what you want - but be careful what you wish for.

At least you can concentrate on hacking the HTML rather than adapting existing code to an API or debugging a broken wheel.

Once you get the HTML the way you want it, you can simply paste it back into the code to get better performance.




time was, I could move my arms like a bird and...