Mode
파일의 모드는 아래와 같다.
Entities | Definition |
< or r | Read Only Access |
> or w | Creates, Writes, and Truncates |
>> or a | Writes, Appends, and Creates |
+< or r+ | Reads and Writes |
+> or w+ | Reads, Writes, Creates, and Truncates |
+>> or a+ |
Reads, Writes, Appends, and Creates
|
Open
use strict;
use warnings;
open(DATA, "<versionInfo1.txt" ) or die "Couldn't open file file.txt, $!";
while(<DATA> ){
print "$_" ;
}
close(DATA);
|
Renaming a file
rename ("/usr/test/file1.txt" , "/usr/test/file2.txt" );
|
Deleting an existing file
unlink ("/usr/test/file1.txt" );
|
CreateRecursiveDir
sub recursiveMkDir {
my $path = shift;
my $perms = shift;
my ($parent) = $path =~ /(.*)\//;
if ($parent) {
recursiveMkDir( $parent, $perms );
mkdir( $path, $perms ) or return 0;
return 1;
}
else { #at base of path
mkdir( $path, $perms ) or return 0;
return 1;
}
}
|
CreateFile
my ( $ file, $ dir , $ ext ) = fileparse ( $ filename );
if ( recursiveMkDir ( $ dir , 0777 ) ) {
die "Unable to create $dir\n";
}
unless ( -e $ filename ) {
open my $fc, ">" , $filename;
close $fc ;
}
|
Copy
use File::Copy;
copy( $filenameSrc , $filenameDst ) or die "Copy failed: $!";
|
Diff
my $fname1 = ...;
my $fname2 = ...;
my %a_links ;
#Tokenizing file
open my $afile, "<", $fname1 or die "Couldn't open $fname1: $!" ;
while ( my $link = <$afile> ) {
chomp $link ;
$a_links { $ link } = undef ;
}
close $afile ;
#Comparing between two files
open my $bfile, "<", $fname2 or die "Couldn't open $fname2: $!" ;
my $i = 0;
while ( my $link = <$bfile> ) {
chomp $link ;
next if exists $a_links{ $link };
print $link ;
}
close $bfile ;
|
Compare
use File::Compare;
if ( compare ( $ fname1 , $fname2 ) == 0 ) {
print "They're equal\n";
return 1;
} else {
return 0;
}
|
'Script > Perl' 카테고리의 다른 글
21. Directory (0) | 2020.01.21 |
---|---|
20. System (0) | 2020.01.21 |
18. Package (0) | 2020.01.21 |
17. Module (0) | 2020.01.21 |
15. Regular Expression 1 - 기본 (0) | 2020.01.21 |