The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package TB2::BlackHole;

use TB2::Mouse;

our $VERSION = '1.005000_002';
$VERSION = eval $VERSION;    ## no critic (BuiltinFunctions::ProhibitStringyEval)


use overload
  "bool"        => sub { 0 };


sub AUTOLOAD {
    # It's black holes all the way down.
    return __PACKAGE__->new;
}


=head1 NAME

TB2::BlackHole - Goes Nowhere Does Nothing

=head1 SYNOPSIS

    use TB2::BlackHole;
    my $blackhole = TB2::BlackHole->new;

    $blackhole->whatever;
    $blackhole->destroy_the_universe( pretty => "please" );

=head1 DESCRIPTION

This is an object that accepts any method with any argument and
returns another BlackHole object.  This allows chained black holes
like...

    $thing->what->huh->oh;

BlackHole objects are always boolean false so code like this DTRT.

    if( $thing->what ) { ... }

You'd use this if you have an optional object, but don't want everyone
to check if they have it.  For example, a formatter.  This may turn
out to be a really bad idea.

=cut

no TB2::Mouse;

1;