The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl6

use v6;

=head1 NAME

Perl 6 Cookbook: Indenting Here Documents

=head1 Summary

You want to indent here documents so that it fits well with code, but need the
indentation removed during processing.

=head1 Solution

Perl 6 lets you indent your here documents as much as you want, and then will
remove any indentation up to the amount preceding the terminating string.

    $var = qq:to/HERE_TARGET/
        your text
        goes here
        HERE_TARGET

Since here document indentation will only be removed by the amount that the 
terminating string is indented, poetry is preserved.

    $poem = qq:to/EVER_ON_AND_ON/
        Now far ahead the Road has gone,
            And I must follow, if I can,
        Pursuing it with eager feet,
            Until it joins some larger way
        Where many paths and errands meet.
            And whither then? I cannot say.
                --Bilbo in /usr/src/perl/pp_ctl.c
        EVER_ON_AND_ON
    say "Here's your poem:\n\n$poem";

=cut