Perl 目录

2025年3月17日 | 阅读 3 分钟

不同的操作系统有不同的命令来查看目录中的文件列表。 例如,'li' 命令用于 Linux,'dir' 命令用于 Windows。

但是我们也可以使用 Perl 目录函数在 Perl 中打开目录。 在这里,目录处理与文件处理非常相似。

Perl 为目录提供了两种选择:文件 globbing 和目录函数。 文件 globbing 通常用于相似的文件子集,而目录函数提供了更多选项。

Perl 目录函数

在下表中,我们列出了一些目录函数。

函数用途
opendir DIRHANDLE, EXPR它打开一个目录。
readdir DIRHANDLE它读取一个目录。
rewinddir DIRHANDLE它将指针定位到开头。
telldir DIRHANDLE它返回目录的当前位置
seekdir DIRHANDLE, POS它将指针指向目录中的 POS。
closedir DIRHANDLE它关闭一个目录。

Perl 打开/显示目录

要在 Perl 中打开目录,可以使用函数 opendir。 此函数在成功时返回 true,失败时返回 false。

使用实际错误消息设置 $! 将显示失败的原因。

语法

示例

输出

Perl Directory 1

Perl 创建目录

要在 Perl 中创建一个新目录,可以使用函数 mkdir。 您需要具有创建目录所需的权限。

语法

示例

输出

Directory created successfully

给定的快照显示了在 /users/javatpoint 目录列表中创建的目录 perl

Perl Directory 2

Perl 在标量上下文中读取目录

要读取目录的内容,可以使用函数 readdir。 在标量上下文中,此函数将逐个返回目录的每个项目。 一旦读取完所有内容,它将返回 undef

语法

示例

输出

Perl Directory 3

Perl 在列表上下文中读取目录

在列表上下文中,readdir 函数将在一个语句中返回目录的所有内容。 因此它使用更多的内存。

语法

示例

输出

Perl Directory 4

Perl 删除目录

要在 Perl 中删除目录,可以使用函数 rmdir。 您需要具有删除目录所需的权限。 要删除的目录在删除之前应该是空的。

语法

示例

输出

Directory removed successfully

Perl 更改目录

要在 Perl 中更改目录,可以使用函数 chdir。 要更改目录并进入新目录,您需要具有所需的权限。

语法

示例

输出

Diretory has been changed to /users/

Perl 关闭目录

要在 Perl 中关闭目录,可以使用函数 closedir。 此函数正式关闭目录句柄和目录之间的连接。 尽管关闭目录在 Perl 中不是强制性的,因为当变量超出范围时,目录将自动关闭。

语法


Perl 使用文件 Globbing 打开目录

要打开目录中与特定模式匹配的所有文件,请使用 Perl 文件名 glob 匹配模式语法。

我们将显示目录中具有扩展名 .docx 的所有文件的列表。

输出

Perl Directory 5

在上面的输出中,读取了目录中的所有文件,但 grep 仅传递扩展名为 .docx 的文件。

下一主题Perl 错误处理