📜  珀尔 |啜饮模块

📅  最后修改于: 2022-05-13 01:54:30.984000             🧑  作者: Mango

珀尔 |啜饮模块

File::Slurp模块用于读取文件的内容并将其存储到字符串中。这是读取/写入/修改完整文件的一种简单有效的方法。就像它的名字一样,它允许您通过一个简单的调用来读取或写入整个文件。
通过将此模块导入您的程序,用户可以实现一些函数,如 read_file、read_text、write_file 等,以从文件中读取和写入内容。
安装 File::Slurp 模块:
要使用这个模块,首先需要将它添加到您的 Perl 语言包中。这可以通过在 Perl 终端中使用以下命令并安装所需的模块来完成。
第 1 步:打开终端并运行以下命令:

perl -MCPAN -e shell

进入 cpan shell 后,按照下一步安装 File::Slurp 模块。
第 2 步:运行以下命令安装模块:

install File::Slurp

这将安装 File::Slurp 模块。
第 3 步:键入并运行“q”命令以退出cpan>提示符。
Slurp 中的 read_file函数:
File::Slurp 的 read_file函数读取具有文件名的文件的全部内容并将其作为字符串返回。但是,不鼓励使用 File::Slurp,因为它几乎没有可能在编译期间引起问题的编码层问题。 File::Slurper 旨在成为避免上述问题的替代方案。

Slurp 中的 read_text函数:
File::Slurper 的 read_text函数接受一个可选的编码参数(如果有的话),并且可以在您请求时自动解码 CRLF 行尾(对于 Windows 文件)。

笔记:
CRLF 行尾用于标记文本文件中的换行符(Windows 换行符类型)。
Slurp 中的 write_file函数:
File::Slurp 的 write_file函数用于使用 File::Slurp 模块一次性写入所有文件。它借助包含 read_file函数读取的另一个文件的内容的标量变量写入文件。

Example1:使用标量存储文件内容

PERL
# Perl code to illustrate the slurp function
use File::Slurp;
 
# read the whole file into a scalar
my $content = read_file('C:\Users\GeeksForGeeks\GFG_Slurp.txt');
 
# write out a whole file from a scalar
write_file('C:\Users\GeeksForGeeks\Copyof_GFG_Slurp.txt', $content);


PERL
# perl code to illustrate the slurp function
use File::Slurp;
 
# read the whole file into a scalar
my @lines = read_file('C:\Users\GeeksForGeeks\GFG_Slurp2.txt');
 
# write out a whole file from a scalar
write_file('C:\Users\GeeksForGeeks\Copyof_GFG_Slurp2.txt', @lines);


Perl
# Perl code to illustrate the slurp function
use strict;
use warnings;
use File::Slurp;
 
# calling user defined function
get_a_string();
 
sub get_a_string
{
  # read entire file into a scalar
  my $gfg_str = read_file('C:\Users\GeeksForGeeks\GFG_User_Slurp.txt');
  
  # write entire file from a scalar
  write_file('C:\Users\GeeksForGeeks\Copyof_GFG_User_Slurp.txt', $gfg_str);
}


输出 :

解释:
在上面的 Perl 代码中,最初,我们使用 slurp函数读取一个名为GFG_Slurp.txt的文件,其中包含一些文本行作为一个名为$content的标量变量的输入,然后将该文件的内容写入另一个文件Copyof_GFG_Slurp.txt作为单个字符串。
Example2:使用数组存储文件内容

PERL

# perl code to illustrate the slurp function
use File::Slurp;
 
# read the whole file into a scalar
my @lines = read_file('C:\Users\GeeksForGeeks\GFG_Slurp2.txt');
 
# write out a whole file from a scalar
write_file('C:\Users\GeeksForGeeks\Copyof_GFG_Slurp2.txt', @lines);

输出 :

解释:
在上面的 Perl 代码中,最初,我们使用 slurp函数读取名为GFG_Slurp2.txt的文件,该文件包含一个文本行数组作为一个名为@lines的数组变量的输入,然后将整个文件的内容写入一个文件将Copyof_GFG_Slurp2.txt命名为单个字符串。
示例 3:创建一个使用 slurp 方法的函数

Perl

# Perl code to illustrate the slurp function
use strict;
use warnings;
use File::Slurp;
 
# calling user defined function
get_a_string();
 
sub get_a_string
{
  # read entire file into a scalar
  my $gfg_str = read_file('C:\Users\GeeksForGeeks\GFG_User_Slurp.txt');
  
  # write entire file from a scalar
  write_file('C:\Users\GeeksForGeeks\Copyof_GFG_User_Slurp.txt', $gfg_str);
}

输出 :

解释:
在上面的 Perl 代码中,strict 和 warnings 允许用户更自由地输入代码并更快地捕获错误,例如变量名中的拼写错误等。我们调用了一个名为 get_a_string 的用户定义函数,它依次执行 slurp函数,即将包含一些文本行的文件作为输入读取到名为 gfg_str 的变量中,然后将整个文件的内容作为单个字符串写入文件。