# @ai-ecoverse/wasix-perl 中文文档

规范地址：https://npmcn.com/package/%40ai-ecoverse/wasix-perl/

版本：5\.42\.0-22
npm 元数据更新时间：2026-10-22T08:12:36.879Z
中文译文更新时间：2026-11-06T02:48:41.598Z
软件包许可：Artistic-1\.0-Perl OR GPL-1\.0-or-later

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40ai-ecoverse/wasix-perl
原文对照：https://npmcn.com/package/%40ai-ecoverse/wasix-perl/?lang=original
项目主页：https://github.com/ai-ecoverse/homescoop/tree/main/packages/wasix-perl
源码仓库：https://github.com/ai-ecoverse/homescoop

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：75.3 MB，1931 个文件
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2026-10-01T08:39:15.503Z
- 最新版本发布：2026-10-22T08:12:35.413Z
- 近 30 天下载量：6083（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：21（近 12 个月 21 个）

## 中文简介

Perl 5.42编程语言,有证明,perldoc,cop2man和cpan.

## 安装

```sh
npm install @ai-ecoverse/wasix-perl
```

也可以使用：`pnpm add @ai-ecoverse/wasix-perl`、`yarn add @ai-ecoverse/wasix-perl`、`bun add @ai-ecoverse/wasix-perl`

## README

# @ai-ecoverse/wasix-perl (英语)

Perl 5.42 为斯皮克·瓦辛(英语:`perl`, (中文(简体) ), `prove`, (中文(简体) ), `pod2man`, (中文(简体) ), `cpan`, (中文(简体) ), `perldoc`) (中文(简体) ).

-   与 [平转](https://github.com/arsv/perl-cross) + 等离子体对抗等离子体
-   建于Isix-sysroot 2025.9.30-42( as树,为正分叉)
-   从isix-sysroot和slic-内核(≥ 1.120.0):用户代号, `%SIG` 信号口罩, `flock` (每个打开的文件描述)和 `fcntl` 记录锁, `mkfifo` 和时间; 通过 slicc fs; DynaLoader 和所有静态链接的编码文件模式
-   核心XS(POSIX, Fcntl, Cwd, Digest: \*, Encode, Socket,.) 静态连接
-   `fork` 编号 : `system` / 通过 WASIX 回击 `proc_fork` (同步)
-   `PERL5LIB` 包件默认值 `lib/perl5` 加号 `~/.local/share/perl5`
-   `use re 'debug'` 编号 : `'eval'` 页:1 `Cwd` (单位:千美元)`getcwd`, (中文(简体) ), `abs_path`(自 5.4.2.0-7:这些模块仅在XS `DynaLoader::boot_DynaLoader` 已存在( 7至 -12 提供了非操作; -13 链接真实的 DynaLoader) 。 -6岁, `perl -Mre=debug` 已死亡( “ 未定义子例程 &re: install ” ) 和 `getcwd` 在挂载中返回了空字符串.
-   1.35.1 slicc-内核上的文件模式: `umask`, (中文(简体) ), `chmod`, (中文(简体) ), `mkdir` 模式和模式 文件: Temp 的 600/700 持有量,以及 `stat` 报告它们(wasix-sysroot) slicc fs,自 -17;更古老的内核留下文件 644和目录 755

## 5.42.0-18: Unix- domain 套接字地址

`IO::Socket::UNIX`是因为 `hostpath` 财务报告和审定财务报表 `peerpath`,以及 `Socket::unpack_sockaddr_un` 关于什么 `getsockname`, (中文(简体) ), `getpeername` 或者说 `accept` 返回,提供套接字的路径。 自从Isix -sysroot -31 这些 返回 Linux 长度地址( 家族、 路径及其 NUL), 最多 5.42.0-17 Socket.xs只接受完整的112字节 `sockaddr_un` 那边还有 死亡时 `Bad arg length for Socket::unpack_sockaddr_un`; 套接字 他们自己工作(homescoop#767).

## 5.4.2.0-19:真正的羊群和mkfifo (wasix-sysroot-34; slic-内核 ? 1.120.0)

-   **鸟群** 是libc自己一个人的 `flock(2)`,通过块状内核 `slicc.flock`。与 Linux 一样,任何控件上,一个锁都属于打开的文件描述:文件、管、终端、套接字或目录.
    -   A 类 `dup`ed手柄和一个叉子继承 共享锁。 一秒钟 `open` ,或者管道的另一端,冲突.
    -   `LOCK_EX` 在只读的手柄上排除,所以 `flock(DATA, LOCK_EX|LOCK_NB)` 单人院拒绝二审(homescoop#758)。 管道锁和STDOUT也排除在外(homescoop#765).
    -   处理的信号可以结束屏蔽 `flock` 与EINTR,像Linux.
    -   鸟群和 `fcntl` 记录锁是分开的,就像在Linux上.
-   **mkfifo : (中文(简体) )** `POSIX::mkfifo` 财务报告和审定财务报表 `mknod` 制作真实的FIFO(`slicc_fs.path_mkfifo`, housescoop# 878) (英语). 最高到 -18 他们失败了EOPNOTSUP.
-   **内核 :** 这需要slic-内核 ~ 1.120.0(引擎).

## 5.42.0-20: FIFO和套接字的 Linux 文件类型比特

`stat` 财务报告和审定财务报表 `lstat` 报告 FIFO 为 `0010000` 和插座为 `0140000` 内 `(stat)[2]`,作为 Linux 和 creutils `stat -c %f` 做,和Fcntl's(英语: `S_IFMT`, (中文(简体) ), `S_IFIFO` 财务报告和审定财务报表 `S_IFSOCK` 属于 Linux (`0170000`, (中文(简体) ), `0010000`, (中文(简体) ), `0140000`),这样 `S_ISFIFO`编号 :`S_ISSOCK` 同意他们的意见(homescoop#1015)。 最多5.42.0-19个 是 idix- libc 的值( 以`0140000` 为FIFO, `0160000` 一个插座, `S_IFMT` `0160000`),因此,将原始模式与Linux字元进行比较的代码是 错. `-p` 财务报告和审定财务报表 `-S` 不变。 建筑检查 `package.json`是因为 描述它所建的正弦轴( homescoop# 752) .

## 5.42.0-22:一个64 MiB 初始堆积; 等离子轴-42

-   **赛斯鲁特:** 2025年9月30日至42日,在Isix-sysroot上建造。 从40起 `malloc` 从初始内存中分配自 -41 起相对路径和 `getcwd` 通过过程的 cwd 描述符(一个已删除的 cwd 给 ENOENT, 如在 Linux 上, 在 slic- 内核上 ? 1. 135. 6) , 自 - 42 起) `gethostname`编号 :`uname` 读取 `/etc/hostname` 首先(homescoop#1462) , (英语:.
-   **初始堆积 :** `perl.wasm` 链接一个64 MiB 初始内存( homescoop#1287, slic-内核#1172). 正在装入核心模块,一个100000-key的散列和一个自动make风格的解析峰值在22-44 MiB,所以它们从不生长共享的内存;更大的工作会成长过它,而-39的分配器刷新它能保证安全. 高达5.42.0-21的平分从13个米B起步并分别成长.
-   **内核层 :** `engines` 1.120.0。 内核从1.106.2起,拒绝在更老的内核上安装包(slic-内核#797);更老的内核在没有警告的情况下安装包;而有羊群,mkfifo和上面的信号特性并不真实(homescoop#651).

## 5.42.0-21: 两种许可证文本; iix-sysroot-39

-   **许可证 :** perl 是一个 `Artistic-1.0-Perl OR GPL-1.0-or-later`,以及 `LICENSE` 现在带着两个文本 perl's `Artistic` 财务报告和审定财务报表 `Copying` (GPL版本1). 直至5.42.0-20,它只持有艺术文本(homescoop#995).
-   **赛斯鲁特:** 2025.9.30-39)上建造的 `malloc` 刷新线程对已生长共享内存的视图( homescoop# 1287)。 perl是单行本,所以脚本没有变化. 从37磅开始 `S_IF*` 位数也是 Linux 的值 `patches/0009` 已经给了.
-   **羊群寿命:** a 锁属于其打开的文件描述( 自 -19) 。 当继承了手柄的叉子离开时,它继续被扣留,当持有人关闭其最后一个手柄的描述或被杀死时,它被释放. `cert/flock-lifetime.mjs` 检查每个案件和INTR(homescoop#1024).
-   **配置 :** 没有 `%Config` 值命名构建机器的路径( 自 19; housescoop# 848, #850) .

## 5.42.0-15 / -16:羊群排除其他过程(最多至-18个)

`flock` 取整个文件 `fcntl` 记录锁`LOCK_SH` → `F_RDLCK`, (中文(简体) ), `LOCK_EX` → `F_WRLCK`, (中文(简体) ), `LOCK_UN` → `F_UNLCK`· ; `LOCK_NB` → `F_SETLK`,则 `F_SETLKW`),它执行进程间(homescoop#631)的立体内核. 每名最多 -14人 `flock` 成功并排除了任何人,所以两个自动m4te运行 一个 `autom4te.cache` 已比赛 (“ 无法重命名 autom4te.cache/output. 0t ”) . 拒绝 `LOCK_NB` 套装 `EWOULDBLOCK`这些是: `fcntl` 语义, 如 perl自己的羊群模拟有它们:一个锁属于这个过程(forked) 孩子不会继承它,而关闭文件上的任何手柄都会丢掉它). `fcntl` 想要一个写锁的可写手柄和一个可读手柄 读取锁,所以 `LOCK_EX` 在只读控件上取读锁( 其他) 写作员不在场,其他只读 `LOCK_EX` 持有者不)和 `LOCK_SH` 打开 一个只写一个写锁。 因此,两个过程 每一个 `LOCK_EX` (单位:千美元) 仅读控件( `flock(DATA, LOCK_EX|LOCK_NB)` (一) 单身学生 二者均被允许: 打开锁文件读写以排除 (homescoop#758) (英语). `flock` 在一个不是普通文件的地方, 终端或管道上的STDOUT, `/dev/null`成功和 不包括任何人, 因为 slicc-内核 保留常规文件中的记录锁定 只有(5.42.0-16; -15)在EBADF, homecoop#757中失败. `lockf` 仍然是 一个咨询不.

## 5.42.0-14: 需要页岩内核

仅以包装形式发布的5.42.0-13(同为文件): `engines` 现在问 1.10.0,第一个内核 `slicc.fcntl_lock`时 高级内核 `fcntl` 记录锁定本地,所以两个 进程既可以在同一字节上设置一个写锁,也可以丢失数据 (homescoop#552号). 不超过 -13 `engines` 说' 1.44.0.

楼层由1.106.2号石板内核执行:其命令目录 拒绝其 `engines.slicc-kernel` 运行的内核不 相会(ai-ecoverse/slicc-内核#797). 旧内核安装软件包 没有警告,那里 `fcntl` 锁,所以 `flock`这不是真的: 使用 slic-内核 \\ 1. 10.0( homescoop# 651).

从硅核1.106.2 命令' `/usr/bin` 条目是 脚本本身( slic- 内核 # 762) , 所以 `pod2man --help` 财务报告和审定财务报表 `pod2text --help`,从 `$0`打印出来 (homescoop#491); 更老的内核 打印没有在那里.

## 5.4.2.0-13: 2025.9.30-30

-   POSIX 记录锁 : `Fcntl` 出口 `F_GETLK`, (中文(简体) ), `F_SETLK`, (中文(简体) ), `F_SETLKW` 财务报告和审定财务报表 `F_RDLCK`编号 :`F_WRLCK`编号 :`F_UNLCK` (最多12个, `use Fcntl qw(F_SETLK)` 死亡时 “你的供应商没有定义 Fcntl 宏 F GETLK”,以及 `fcntl` 带他们去 slicc-内核 (≥ 1. 100. 0) , 保留每个过程的锁, 如 Linux 所做的: a 要求给父母持有的空间装写锁 `EAGAIN`, (中文(简体) ), `F_SETLKW` 等待解锁,和 `F_GETLK` 给持有者取名. 在一个更古老的内核上 每一个锁都是当地提供的 `F_GETLK` 答题 `F_UNLCK`,所以一个脚本 探测 `F_SETLK` 现在掉下来想 已经锁定在那里(因此 -14's `engines` 页:1 结构是 `pack('s s x4 q q l x4', $type, $whence, $start, $len, $pid)` (32个字节放在了原32). `flock` 不变:a 在打开的控件上成功的咨询禁用.
-   真正的DynaLoader, 当上游建筑它为静态活性 (单位:千美元)`dl_none.xs`: `DynaLoader::dl_error` 说"没有执行",加载 无法装入模块的模块...,动态 无法装入此 perl 中。” 不超过 -12 `boot_DynaLoader` 是个 无标记和 `dl_*` 函数缺失.
-   所有编码:其XS分扩展(`Encode::Unicode`, (中文(简体) ), `Byte`, (中文(简体) ), `Symbol`, (中文(简体) ), `EBCDIC`, (中文(简体) ), `CN`, (中文(简体) ), `JP`, (中文(简体) ), `KR`, (中文(简体) ), `TW`)被链接在其中,所以 `encode("UTF-16LE", …)`, (中文(简体) ), `cp1252`, (中文(简体) ), `koi8-r`, (中文(简体) ), `shiftjis`, (中文(简体) ), `euc-kr`, (中文(简体) ), `big5-eten` 和其余部分 `Encode->encodings(":all")` 工作时 12岁前他们死在"未知" 编码".
-   iix - sysroot - 29 和 - 30 也带来 `poll` 与 `events` 0, WASIX epoll (英语) 与 Linux op 数字并命名为 semaphores( 没有 perl 内建使用它们) .

## 5.42.0-12: idix-sysroot 2025.9.30-28 (英语)

-   信号口罩是真实的: `POSIX::sigprocmask` 块和取出块穿过 斯莱克-内核 (≥ 1.8.0). 一个被屏蔽的信号待发( E)`POSIX::sigpending`(中文(简体) ) 不运行它 `%SIG` 处理器或切割器 `select` 睡眠短,还有 处理器打开后运行一次 。 一直到5.42.0-11 这个面具是 忽略: 处理器立即运行, 任何问题都有待解决 。 内核 在1.88.0取出Iix-sysroot -28的ENOSYS倒置之前(它的README).
-   `bin/perl.wasm` 是模式755, 和其他命令文件一样 (5. 42.0- 11 已运出) 页:1.

## 5.42.0-11 (中文(简体) )

-   `utime $atime, $mtime, $fh` (一个文件处理)作品: `futimes` 是利布的吗 `futimens`EOPNOTSUP 失败的柱子 (homescoop#307号). `utime undef, undef, $fh` 准备.
-   `flock` 在打开的控件上成功,而在关闭的操作上与 EBADF 失败. 斯莱克-内核没有咨询锁,因此一个锁永远不会被拒绝(如: iix- python和 iix- ruby); 每架最多- 10 `flock` 失败 EOPNOTSUPP,用于锁定文件的模块(DB File-style缓存, `File::Temp` 与 `:flock` (b) 以致命方式处理. `lockf` 同样的.
-   `use filetest 'access'` 制造 `-r`编号 :`-w`编号 :`-x` 问利布 `eaccess` (wasix-sysroot-25);最高为-10 `eaccess` 是根根茎,所以是假的.
-   `prove` 财务报告和审定财务报表 `TAP::Harness` 工作,还有4个论点 `select` (和 `IO::Select`不止一个手柄: `fd_set` 是一个fd的列表, 没有一点口罩, 和perl递 `select()` 其位字符串为 `fd_set`编号 (单位:千美元)`patches/0005-sselect-wasi-fd-set.patch`最多为 -10 `prove` 报告 每一次测试(homescoop#306)都找不到“TAP输出中的计划”和 `IO::Select->can_read` 会陷阱.
-   该建筑可复制: `perl -V`'""编译为"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 发布日期(`SOURCE_DATE_EPOCH`),归档日期为零,秒 同一承诺的构建方式为字节-同义字(由 `ladder-pr`是因为 `reproducible (wasix-perl)` 职业, `reproducible: true` 内 `recipe.yaml`) (中文(简体) ).

## 5.42.0-10: 2025.9.30-27 (中文(简体) )

-   `utime undef, undef, $file` (和任何触摸文件 通过它) 将时间设定为现在; 最多为5.42.0-9, 设定为0(1970年), 从 鸡尾酒坏了 `utimensat(NULL)` (homescoop#294) (英语).
-   `times` 报告过程 CPU 时间 slicc-内核保存; 系统及 儿童时代为0. `$^T`编号 :`time` 不变.
-   空道为 ENOENT(`-e ""`, (中文(简体) ), `open(my $f, "<", "")`),与Linux一样.
-   `getcwd` 之后 `chdir` 通过符号链接是物理目录 (自isix-sysroot -18起;5.42.0-8及更年长者给出了逻辑的).
-   文件在 slic-内核上拥有所有者 ? 1.59.0 用户在 : `chown`, (中文(简体) ), `-o`, (中文(简体) ), `-O` 财务报告和审定财务报表 `stat`iid/gid是内核的,和 `-r`编号 :`-w`编号 :`-x` 问吧 (单位:千美元)`access`内核为 1.63.0.

## 5.42.0-9: 2025.9.30-20

-   `%SIG` 1.47.1: 自由号每一次报告 处理到内核(`slicc.sigaction_set`),这样 `$SIG{CHLD}` 收获 财务报告和审定财务报表 `$SIG{WINCH}` 工作时. `alarm`, (中文(简体) ), `sleep` 由信号中断 `kill $$` 表现得跟Linux一样.
-   `$<`, (中文(简体) ), `$>`, (中文(简体) ), `$(`, (中文(简体) ), `getpwuid` 财务报告和审定财务报表 `getgrgid` 产自斯克-内核 加工证书(页码-内核 ^ 1.44.0,不倒置)。 根为 uid 0 与 家为 `/root`页:1 `kernel.users.add` 用户获得自己的id.

## 常见问题

### @ai-ecoverse/wasix-perl 是什么？

Perl 5\.42编程语言,有证明,perldoc,cop2man和cpan\.

### 如何安装 @ai-ecoverse/wasix-perl？

在项目目录运行 npm install @ai-ecoverse/wasix-perl，或使用 pnpm add / yarn add / bun add。

### @ai-ecoverse/wasix-perl 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/ai-ecoverse\_\_wasix-perl 是否存在。

### @ai-ecoverse/wasix-perl 可以商用吗？

@ai-ecoverse/wasix-perl 使用 Artistic-1\.0-Perl OR GPL-1\.0-or-later 许可。可在 Artistic-1\.0-Perl、GPL-1\.0 中任选其一遵守。以上为概括，不构成法律意见，请以许可原文为准。

### @ai-ecoverse/wasix-perl 的下载量有多少？

根据 npm 官方下载统计，@ai-ecoverse/wasix-perl 在 2026/10/05 – 2026/11/03 这 30 天内被下载 6,083 次，日均约 203 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @ai-ecoverse/wasix-perl 还在维护吗？

最新版本 5\.42\.0-22 发布于 2026/10/22（14 天前）；至今共发布 21 个版本，其中过去 12 个月发布了 21 个；首次发布于 2026/10/01。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

