Perl İle Dosya İzinlerinin Kontrol Edilmesi
#!/usr/bin/perl -s
# Author: Hamdi Kavak
# Date : 08 December 2007 - 9:54 PM
#####################################################################################
# - Bu programa parametre olarak girilen dosya isimlerinin programin calistigi dizinde;
# * var olup olmadigi, * yazibilirligi, * okunabilirligi, * calistirilabilirligi test ediliyor
#####################################################################################
###--- Ana Program ---###
if( ($args = @ARGV) > 0){ #arguman sayisi kontrol ediliyor
&fileinspector(@ARGV);
}
else{
&usage;
}
###--- Alt-Programlar(subroutines) ---###
sub usage{
print "\n"."Kullanim: perl fileinspector.pl [arg:dosyaisimleri]"."\n";
}
sub fileinspector{
my @myarray = @_; # tum argumanlar alindi
$args = @myarray; # dizinin boyu bulundu
for($i=0;$i<$args;$i++){
if(-e $myarray[$i]){ # -e dosyanin varligini kontrol eder (existance)
if(-w $myarray[$i]){ # -w dosyanin yazilma iznini kontrol eder
push(@state,"yazilma izni var");
}
else{
push(@state,"yazilma izni yok");
}
push(@state," , ");
if(-r $myarray[$i]){ # -r dosyanin okunma iznini kontrol eder
push(@state,"okunma izni var");
}
else{
push(@state,"okunma izni yok");
}
push(@state," ve ");
if(-x $myarray[$i]){ # -x dosyanin calistirilma iznini kontrol eder
push(@state,"calistirilma izni var");
}
else{
push(@state,"calistirilma izni yok");
}
print "\n\"$myarray[$i]\" isimli dosyanin tarafinizdan @state.";
}
else{
print "\n\"$myarray[$i]\" isimli dosya bulunamadi.";
}
}
}