導航:首頁 > 文件教程 > perl判斷文件為空

perl判斷文件為空

發布時間:2024-09-28 20:28:47

❶ perl 判斷文件是否為空

先新建一個空的文件,然後拿要判斷的文件和這個空文件進行對比專判斷即可。屬
touch null

if(`diff otherdo null`)
{
print "otherdo is no null\n";
}
else
{
print "otherdo is null\n";
}

❷ perl 文件 檢測

給加分不?
#compare folders
use strict;

sub get;
sub FolderCompare;
#輸入的格式為:"perl foldercompare.pl <ul1 name> <ul2 name>\n";

if ( @ARGV < 2 )
{
die;
}
system"svn export @ARGV[0] A";
system"svn export @ARGV[1] B";
my $dirA = "A";
my $dirB = "B";
FolderCompare($dirA, $dirB, "0"); #第一次正向比較
FolderCompare($dirB, $dirA, "1"); #第二次反向比較,主要是查出B中有而A中沒有的
#其中第三個參數是為了清除第一次已經輸出的不一樣的文本
system"rm A -rf";
system"rm B -rf";
print "Finished!";
sub get
{
my $dir = $_[0];
my %array;
opendir(DIR, $dir);
while (my $file = readdir(DIR))
{
my @array_tmp = stat("$dir/$file");
if($file =~ m/^[^.]/)
{
if(-d "$dir\\$file") #判斷是否為目錄,並標記
{
$array{$file} = [$array_tmp[7], "1"];
}
if(-f "$dir\\$file") #判斷是否為文件,並標記
{
$array{$file} = [$array_tmp[7], "0"];
#print "$file\t$array{$file}[1]\n";
}
}
}
return %array;
}

sub FolderCompare
{
my $FolderA = $_[0];
my $FolderB = $_[1];
my $temp = $_[2];
my %arrayA = get($FolderA);
my %arrayB = get($FolderB);
foreach my $FileNameA (keys(%arrayA))
{
if(exists($arrayB{$FileNameA}))
{
if($arrayA{$FileNameA}[1] eq "1")
{
if($arrayB{$FileNameA}[1] eq "1")
{
FolderCompare("$FolderA\\$FileNameA", "$FolderB\\$FileNameA", "$temp"); #都為目錄,進行遞歸
}
}
if($arrayA{$FileNameA}[1] eq "0") #都為文件,進行比較
{
if($arrayB{$FileNameA}[1] eq "0")
{
if($arrayA{$FileNameA}[0] != $arrayB{$FileNameA}[0])
{
if($temp == 0)
{
print "$FolderA\\$FileNameA is different from $FolderB\\$FileNameA\n";
}
}
}
}
}
else
{
print "$FolderA\\$FileNameA is not exitst in $FolderB\n";
}
}
}

❸ perl實現文件修改後寫入原文件,如把文件裡面的a都換成b後寫回去,腳本實現,不用命令行。

$^I="";
while(<>){
s/a/b/;
}

只要求將$^I設置為空,即可實現在原文件改寫.

❹ perl判斷文件是否存在

主要就是 -e 這個操作符版 ( e 即是權 "exist" )

$fileExist = -e "C:/windows/readme.txt";
if ( $fileExist ) {
print "Yes"
}
else {
print "No"
}

❺ Perl怎麼判斷文件內容是否為空

請查看手冊perl函數里的內容-X: perldoc -f -X

-z File has zero size (is empty).

my$file="/path/file.name";
if(-z$file){...}

❻ perl如何判斷文件句柄已經打開

#!/usr/bin/perl
use5.010;

#(1)
say'(1)',filenoOUT?'yes':'no';
#(2)
openOUT,'>',"filename";
printOUT"abc ";
say'(2)',filenoOUT?'yes':'no';
closeOUT;
#(3)
say'(3)',filenoOUT?'yes':'no';
__DATA__


在perl里,fileno()函數可以返回句柄的文件描述符。可以使用fileno函數判斷專某個變屬量是否是文件句柄,判斷文件句柄是否正常打開,判斷文件句柄的類型。
標准輸入輸出句柄STDIN,STDOUT和STDERR的文件描述符分別是0,1和2(Unix標准傳統),標准文件輸入輸出句柄的值從3開始,其具體值由句柄打開的順序決定。若某變異是一個普通變數,則fileno的返回值是undef;若某個文件句柄未正常打開或者已關閉,fileno返回的值也是undef。

❼ Perl循環輸出csv格式的文件

open F,"F:/a.csv"; #a.csv是你的csv文件
@array=<F>;
foreach (@array){
($s1,$s2,$s3,$s4,$s5)=split(/,/, $_); #s1-5分別對應每一列數據
print "$s1\t$s2\t$s3\t$s4\t$s5\n";} #如果某一列某一行是空的,perl自動定義為undef

閱讀全文

與perl判斷文件為空相關的資料

熱點內容
如何修改樂視賬號密碼忘了怎麼辦 瀏覽:83
w10分區工具 瀏覽:654
電腦里發現別人的文件夾還打不開 瀏覽:279
win7升級win10後藍屏重啟後黑屏了 瀏覽:760
文件名後綴改了沒用 瀏覽:278
中國為什麼人少編程的人多 瀏覽:4
蘋果電腦桌面文件夾太多了怎麼辦 瀏覽:180
搜狐視頻文件多大 瀏覽:816
qq文件存在手機哪裡 瀏覽:675
電信網路上的微信號怎麼查 瀏覽:490
涿州少兒編程哪裡有 瀏覽:736
壓縮文件之後文件夾大小不變 瀏覽:689
可編程滑鼠怎麼使用識別圖片 瀏覽:275
物理實驗數據處理有哪些 瀏覽:724
怎麼去推廣app平台 瀏覽:466
捕魚1000炮網路版 瀏覽:679
編程用的鍵盤是什麼 瀏覽:316
perl判斷文件為空 瀏覽:865
java生成07版的docx 瀏覽:276
華碩a555l升級了win10 瀏覽:820

友情鏈接