diff --git a/src/core/IO.pm b/src/core/IO.pm index c4f7efc17d8..847b88c6e66 100644 --- a/src/core/IO.pm +++ b/src/core/IO.pm @@ -82,4 +82,14 @@ multi sub prompt($msg) { multi sub say(Mu *@items) { $*OUT.say(@items); } +sub open($filename, :$r, :$w, :$a) { + my $mode = $w ?? 'w' !! ($a ?? 'wa' !! 'r'); + my $PIO = pir::open__PSS($filename, $mode); + unless pir::istrue__IP($PIO) { + die("Unable to open file '$filename'"); + } + $PIO.encoding('utf8'); + IO.new(:$PIO) +} + # vim: ft=perl6