perl6文件操作

use v6;
#perl6中读取文件方法
#:r 只读, :w 只写, :rw 读写, :a 追加

my $fp = open 'filename.txt', :rw;
for $fp.^methods -> $method {
  say $method;
}

#向文件写入, 可以用say或print或print或spurt
$fp.say('hello, world');
$fp.print("two
");
$fp.say("three");
$fp.close;
my $filedata = 'This is a data
  From the function
  of spurt!!';
spurt 'filedata.txt', $filedata;

#读取文件, 可用get一次读一行, 或用lines一次读取所有行
#读进一个标量, 会变成指向数组的指针
#读进数组, 文件一行一个元素

my $ffp = open 'filename.txt', :r;
#say $ffp.get;
#my $lines = $ffp.lines;
#say $lines.perl;
#say $lines.WHAT;
#say $lines[2];
#exit;
my @all_lines = $ffp.lines;
say @all_lines.elems;
say @all_lines;
say @all_lines.perl;
$ffp.close;
#这个lines可以这样来读取
#my @all_lines = lines 'filename.txt'.IO;


#slurp一次把文件读进一个变量, 与lines不同的是, lines读进数组或变量时, 一行一个元素
#而slurp不是, 他是全部内容一起算一个元素
my $data = slurp 'filename.txt';
say $data;
原文地址:https://www.cnblogs.com/perl6/p/6931565.html