首页 > 解决方案 > 如何使用 Path::Tiny 将 LF (0A) 字符附加到文件中?

问题描述

这种方法不起作用 - 只需添加字符串“10”

use Modern::Perl;
use Path::Tiny qw( path );
use DateTime;

my $d1 = DateTime->new(year => 2019, month => 5, day => 6);
my @lines_to_add;

$lines_to_add[0]= "1|" . $d1->dmy('.') . "|";

$,="\n";
my $filename = "./load";
path($filename)->spew_raw(@lines_to_add);
path($filename)->append({binmode => ":raw"}, 10);

我想生成一些数据,然后将它们插入到表中(在 AIX 上运行的 Informix)。但是,环境需要文件末尾的 LF 字符才能从中加载。我只想使用 Path::Tiny 库。(我在 Windows 上使用 Strawberry Perl)

标签: perlappendbyte

解决方案


数字文字产生的值

10

正在被字符串化为两个字符串

10

要获取由字符 10 组成的字符串,可以使用以下任何一种:

"\n"
"\N{LINE FEED}"
"\N{LF}"
"\N{U+000A}"
"\x{0A}"
"\x0A"
"\012"
chr(10)
pack('C', 10)

推荐阅读