perl - 如何使用 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)
解决方案
数字文字产生的值
10
正在被字符串化为两个字符串
10
要获取由字符 10 组成的字符串,可以使用以下任何一种:
"\n"
"\N{LINE FEED}"
"\N{LF}"
"\N{U+000A}"
"\x{0A}"
"\x0A"
"\012"
chr(10)
pack('C', 10)
推荐阅读
- r - R使用滞后重新编码变量
- linux - rpmbuild 规范文件和 rpm - 一些深刻的困惑
- python - 在 Pytorch 自定义模块中添加模块
- python - 嵌套字符串文字插值是否可能?
- javascript - 正确获取第一个 json 对象
- go - 保护特定的 Pat 路由
- android - 访问 Android 应用 GPU 上下文
- ios - 在 iOS Maps Embed API 中点击“查看大地图”后无法返回应用
- java - org.w3c.dom.DOMException: DOM005 Wrong document in Java while using Xcerces
- linux - 如何知道当前进程数以及哪个进程分叉了大多数进程?