Filter::Undent - Un-indent heredoc strings automatically


Don't you wish heredocs could align with your docs? Now they can!

        use Filter::Undent;
        print <<'EOF'
                What is printed is magically undented to the level of the
                first line of the heredoc.

                        Only these lines will be indented in the output, since they
                        are indented relative to the first line

If you want to disable the unindent of the heredocs, simply:

        no Filter::Undent;



This function does the actual work of unindenting. It returns the modified version of the input string, ignoring any leading newlines, and if the first line of the provided string is indented with space or tab characters, it will remove the same whitespace from the beginning of all of the subsequent lines in the output. Any lines which are outdented from the first line, or is using a different combination of spaces or tabs will not have its leading space removed.


Anthony Kilna, <anthony at> -


Please report any bugs or feature requests to bug-filter-undent at, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc Filter::Undent

You can also look for information at:


Copyright 2012 Kilna Companies.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See for more information.