Check FATAL functionality

__END__

# Check runtime scope of pragma
use warnings FATAL => 'uninitialized' ;
do {
    no warnings ;
    my $b ; chop $b ;
};
my $b ; chop $b ;
print $^STDERR, "The End.\n" ;
EXPECT
Use of uninitialized value $b in chop at - line 8 character 9.
########

# Check runtime scope of pragma
use warnings FATAL => 'all' ;
do {
    no warnings ;
    my $b ; chop $b ;
};
my $b ; chop $b ;
print $^STDERR, "The End.\n" ;
EXPECT
Use of uninitialized value $b in chop at - line 8 character 9.
########

# Check scope of pragma with eval
no warnings ;
try {
    use warnings FATAL => 'uninitialized' ;
    my $b ; chop $b ;
}; print $^STDERR, "-- $($^EVAL_ERROR->description)\n" ;
my $b ; chop $b ;
print $^STDERR, "The End.\n" ;
EXPECT
-- Use of uninitialized value $b in chop
The End.
########

# Check scope of pragma with eval
use warnings FATAL => 'uninitialized' ;
try {
    my $b ; chop $b ;
}; print $^STDERR, "-- $($^EVAL_ERROR->description)\n" ;
my $b ; chop $b ;
print $^STDERR, "The End.\n" ;
EXPECT
-- Use of uninitialized value $b in chop
Use of uninitialized value $b in chop at - line 7 character 9.
########

# Check scope of pragma with eval
use warnings FATAL => 'uninitialized' ;
try {
    no warnings ;
    my $b ; chop $b ;
}; print $^STDERR, $^EVAL_ERROR;
my $b ; chop $b ;
print $^STDERR, "The End.\n" ;
EXPECT
Use of uninitialized value $b in chop at - line 8 character 9.
########

# Check scope of pragma with eval
no warnings ;
eval q[ 
    use warnings FATAL => 'uninitialized' ;
    my $b ; chop $b ;
]; print $^STDERR, "-- $($^EVAL_ERROR->description)\n";
my $b ; chop $b ;
print $^STDERR, "The End.\n" ;
EXPECT
-- Use of uninitialized value $b in chop
The End.
########

# Check scope of pragma with eval
use warnings FATAL => 'uninitialized' ;
eval '
    my $b ; chop $b ;
'; print $^STDERR, "-- $($^EVAL_ERROR->description)\n" ;
my $b ; chop $b ;
print $^STDERR, "The End.\n" ;
EXPECT
-- Use of uninitialized value $b in chop
Use of uninitialized value $b in chop at - line 7 character 9.
########

# Check scope of pragma with eval
use warnings FATAL => 'uninitialized' ;
eval '
    no warnings ;
    my $b ; chop $b ;
'; print $^STDERR, $^EVAL_ERROR;
my $b ; chop $b ;
print $^STDERR, "The End.\n" ;
EXPECT
Use of uninitialized value $b in chop at - line 8 character 9.
