Perl 带有CRUD操作的目录

Perl 带有CRUD操作的目录

Perl是一种通用的、跨平台的编程语言,主要用于文本操作,并用于开发许多软件应用程序,如网络开发、图形用户界面应用等。它比其他编程语言更受欢迎,因为它更快、更强大,而且Perl有很多快捷键,有助于快速编写脚本,从而减少编写时间。
在编程语言中,目录被用来以列表的形式存储数值。目录与文件很相似。就像文件一样,目录也允许对它进行一些操作。这些操作用于修改现有的目录或创建一个新的目录。

可以在一个目录上进行的不同操作有

  1. 创建一个新的目录
  2. 打开一个现有的目录
  3. 读取一个目录的内容
  4. 改变一个目录的路径
  5. 关闭一个目录
  6. 删除一个目录

创建一个 目录

要创建一个目录,可以使用mkdir(PATH, MODE)。这个函数有助于创建一个新的目录,如果用户想检查文件是否已经存在,可以通过 -e 函数来完成。路径由PATH设置,使用MODE函数指定的模式。

示例

#!/usr/bin/perl  
  
# Path of the directory
my directory = 'C:\Users\GeeksForGeeks\Folder\Perl';  
  
# Creating a directory in perl  
mkdir(directory) or die "No directory directory,!";  
print "Directory created \n"; 

输出:

Perl  带有CRUD操作的目录
Perl  带有CRUD操作的目录
Perl  带有CRUD操作的目录

打开一个目录

要在Perl中打开一个目录,需要使用一个简短的函数opendir DIRHANDLE, PATH。这里的PATH是要打开的目录的路径。
例子 :

#!/usr/bin/perl  
  
my directory = 'C:\Users\GeeksForGeeks\Folder';  
opendir (DIR,directory) or die "No directory, !";  
while (file = readdir DIR) 
{  
    print "$file\n";  
}  
closedir DIR;

输出:

Perl  带有CRUD操作的目录

在Scalar和List上下文中读取目录

读取目录是一项常见的任务,因为人们每次都要读取文件中存储的内容来运行代码或理解代码。要读取一个目录,需要使用readdir DIRHANDLE。用户有两种方法可以读取目录,即在列表上下文和标量上下文中。

在列表上下文中,代码返回目录中所有其余的条目,如果目录中的条目是空的,那么在标量上下文中会返回未定义的值,在列表上下文中会返回空列表。

标量上下文:

示例

#!/usr/bin/perl  
use strict; 
use warnings; 
use 5.010; 
  
# Path of the directory
my directory = shift // 'C:\Users\GeeksForGeeks\Folder'; 
  
# Opening the directory
opendir mydh, directory or 
die "Could not open 'directory' for reading '!'\n"; 
  
# Printing content of the directory
while (mycontent = readdir dh) 
{ 
    saycontent; 
} 
  
# Closing the directory
closedir $dh; 

输出:

Perl  带有CRUD操作的目录

列表背景

#!/usr/bin/perl  
use strict;  
use warnings;  
use 5.010;  
  
# Path of the directory
my directory  = shift // 'C:\Users\GeeksForGeeks\Folder';  
  
# Opening the directory
opendir mydh, directory or 
die "Could not open 'directory' for reading '!'\n";  
  
# Reading content of the file
my @content = readdirdh;  
  
# Printing content of the directory
foreach my content (@content) 
{  
    saycontent;  
}  
  
# Closing the directory
closedir $dh;

输出:

Perl  带有CRUD操作的目录

改变一个目录

要改变一个目录,可以使用chdir()函数。chdir()函数与脚本一起调用时,为脚本的其余部分改变目录。如果在一个脚本内调用这个函数,终端上的目录将不会被改变。另一方面,当直接调用一个新的目录路径时,变化同时反映在终端上。
例子1: 当在脚本内调用chdir()时

#!/usr/bin/perl
  
# Module to return 
# current directory path
use Cwd;
  
# Path of new directory
directory = "C:/Users";
  
# Printing the path of current directory
# using cwd function
print "The current directory is ";
print(cwd);
print "\n"; 
  
# Changing the directory using chdir function
chdir(directory) or 
      die "Couldn't go inside directory directory,!";
  
# Printing the path of changed directory
print "Directory has been changed to $directory\n";
print "The current directory is ";
print(cwd);
print "\n"; 

输出

Perl  带有CRUD操作的目录

例2: 当在终端直接调用chdir()时

Perl  带有CRUD操作的目录

关闭一个目录

要关闭一个目录,可以使用closedir DIRHANDLE。这里,DIRHANDLE是目录的句柄,它是用opendir函数打开的。
示例

#!/usr/bin/perl
  
# Directory which is to be opened
dirname = "C:/Users/GeeksForGeeks";
  
# Opening the directory 
# using opendir function
opendir (dir,dirname) || die "Error dirname\n";
  
# Printing content of the directory
# using readdir function
while((filename = readdir(dir))) 
{
    print("$filename\n");
}
  
# Closing the directory using closedir 
closedir(dir);

输出:

Perl  带有CRUD操作的目录

删除一个目录

移除一个目录可以通过使用rmdir函数来完成。这个函数只在FILENAME指定的目录是空的情况下删除该目录,如果成功则返回真,否则返回假。

例子

#!/usr/bin/perl  
directory = "C:/Users/GeeksForGeeks/Folder/Perl";  
  
# This removes perl directory  
rmdir(directory ) or
      die "Couldn't remove directory directory,!";  
        
print "Directory removed \n";  

输出:

Perl  带有CRUD操作的目录
Perl  带有CRUD操作的目录
Perl  带有CRUD操作的目录

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程