Win8 Strawberry 5.30.3.1 (64) Sat 12/19/2020 13:18:14 C:\@Work\Perl\monks >perl -Mstrict -Mwarnings use 5.014; # for s/// with /r modifier print "Content-type: text/plain\n\n"; print "Test\n\n"; # sub undent { # works, but not as flexible # return $_[0] =~ s/^\s+//gmr; # } sub undent { my $text = shift; $text =~ s{ \A [^\n]* \n (\s*) }{}xms; my $dent = length $1; return $text =~ s{ ^ \s{0,$dent} }{}xmsgr; } if (1) { print undent " Here is some test text that can also be ragged with plenty of space at the start\n" } ^Z Content-type: text/plain Test Here is some test text that can also be ragged with plenty of space at the start