The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

use strict;
use Test2::V0 '!subtest';
use Test2::Tools::Subtest 'subtest_streamed';
our @EXPORT= (@Test2::V0::EXPORT, 'explain', 'unindent');
*subtest= \&subtest_streamed;
eval q{
use Data::Printer;
sub explain { Data::Printer::np(@_) }
1
} or eval q{
use Data::Dumper;
sub explain { Data::Dumper->new(\@_)->Terse(1)->Indent(1)->Sortkeys(1)->Dump }
1
} or die $@;
# Perl didn't get <<~'x' until 5.28
sub unindent {
my ($indent)= ($_[0] =~ /^(\s+)/);
(my $x= $_[0]) =~ s/^$indent//mg;
$x;
}
1;