It's not very neat, but you could alter indent() to take an optional second argument which is the maximum amount of leading space to trim. eg:
#!/usr/bin/perl use strict; print "Content-type: text/plain\n\n"; print "Test\n\n"; sub indent { my ($text, $cols) = @_; $cols //= 1000; $text =~ s/^\s{0,$cols}//gm; return $text; } if (1) { print indent(<<"END_TEXT", 1); Here is some test text with plenty of space and an indent here at the start END_TEXT } exit 0;
Note that you'll need to be careful with tabs v spaces. The value of 1 for $cols here is fine for a tab. You'll see that with that level, the indent on line 4 of the paragraph is preserved.
PS. indent is probably better named outdent since that is effectively what it is doing.
🦛
In reply to Re: Here documents in blocks
by hippo
in thread Here documents in blocks
by Bod
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |