Perl-디렉토리
다음은 디렉토리로 재생하는 데 사용되는 표준 기능입니다.
opendir DIRHANDLE, EXPR # To open a directory
readdir DIRHANDLE # To read a directory
rewinddir DIRHANDLE # Positioning pointer to the begining
telldir DIRHANDLE # Returns current position of the dir
seekdir DIRHANDLE, POS # Pointing pointer to POS inside dir
closedir DIRHANDLE # Closing a directory.
모든 파일 표시
특정 디렉토리에서 사용 가능한 모든 파일을 나열하는 방법에는 여러 가지가 있습니다. 먼저 다음을 사용하여 모든 파일을 가져오고 나열하는 간단한 방법을 사용하겠습니다.glob 연산자-
#!/usr/bin/perl
# Display all the files in /tmp directory.
$dir = "/tmp/*";
my @files = glob( $dir );
foreach (@files ) {
print $_ . "\n";
}
# Display all the C source files in /tmp directory.
$dir = "/tmp/*.c";
@files = glob( $dir );
foreach (@files ) {
print $_ . "\n";
}
# Display all the hidden files.
$dir = "/tmp/.*";
@files = glob( $dir );
foreach (@files ) {
print $_ . "\n";
}
# Display all the files from /tmp and /home directories.
$dir = "/tmp/* /home/*";
@files = glob( $dir );
foreach (@files ) {
print $_ . "\n";
}
다음은 디렉토리를 열고이 디렉토리에서 사용할 수있는 모든 파일을 나열하는 또 다른 예입니다.
#!/usr/bin/perl
opendir (DIR, '.') or die "Couldn't open directory, $!";
while ($file = readdir DIR) {
print "$file\n";
}
closedir DIR;
사용할 수있는 C 소스 파일 목록을 인쇄하는 또 다른 예는 다음과 같습니다.
#!/usr/bin/perl
opendir(DIR, '.') or die "Couldn't open directory, $!";
foreach (sort grep(/^.*\.c$/,readdir(DIR))) {
print "$_\n";
}
closedir DIR;
새 디렉토리 생성
당신이 사용할 수있는 mkdir새 디렉토리를 만드는 기능. 디렉토리를 생성하려면 필요한 권한이 있어야합니다.
#!/usr/bin/perl
$dir = "/tmp/perl";
# This creates perl directory in /tmp directory.
mkdir( $dir ) or die "Couldn't create $dir directory, $!";
print "Directory created successfully\n";
디렉토리 제거
당신이 사용할 수있는 rmdir디렉토리를 제거하는 기능. 디렉토리를 제거하려면 필요한 권한이 있어야합니다. 또한이 디렉터리를 제거하기 전에 비어 있어야합니다.
#!/usr/bin/perl
$dir = "/tmp/perl";
# This removes perl directory from /tmp directory.
rmdir( $dir ) or die "Couldn't remove $dir directory, $!";
print "Directory removed successfully\n";
디렉토리 변경
당신이 사용할 수있는 chdir디렉토리를 변경하고 새 위치로 이동하는 기능. 디렉토리를 변경하고 새 디렉토리로 이동하려면 필요한 권한이 있어야합니다.
#!/usr/bin/perl
$dir = "/home";
# This changes perl directory and moves you inside /home directory.
chdir( $dir ) or die "Couldn't go inside $dir directory, $!";
print "Your new location is $dir\n";