In IO::Handle§

See primary documentation in context for method opened

method opened(IO::Handle:D: --> Bool:D)

Returns True if the handle is open, False otherwise.

In IO::CatHandle§

See primary documentation in context for method opened

method opened(IO::CatHandle:D: --> Bool:D)

Returns True if the invocant has any source handles, False otherwise.

say IO::CatHandle.new      .opened# OUTPUT: «False␤» 
say IO::CatHandle.new($*IN).opened# OUTPUT: «True␤» 
 
(my $f1 = 'foo'.IO).spurt: "A\nB\nC";
with IO::CatHandle.new: $f1 {
    .opened.say# OUTPUT: «True␤» 
    .slurp;
    .opened.say# OUTPUT: «False␤» 
}