Hi, I changed my code accordingly.
- bash-2.03$ ls -l
-
-
total 68
-
-
-rw-r--r-- 1 ddeokarb devel 41 Dec 17 02:22 123.csv
-
-
-rwxr-xr-x 1 ddeokarb devel 46 Dec 14 06:57 morning
-
-
-rw-r--r-- 1 ddeokarb devel 45 Nov 6 01:56 myFirstPerl.pl
-
-
-rwxr-xr-x 1 ddeokarb devel 611 Dec 14 07:27 scriptQueueDir
-
-
drwxr-xr-x 2 ddeokarb devel 512 Dec 14 07:26 temp1
-
- drwxrwxrwx 2 ddeokarb devel 512 Dec 14 07:26 temp2
-
-
drwxr-xr-x 2 ddeokarb devel 512 Dec 14 07:26 temp3
-
-
drwxr-xr-x 2 ddeokarb devel 512 Dec 14 07:26 temp4
-
-
-rwxr-xr-x 1 ddeokarb devel 663 Dec 14 04:45 try1.pl
-
-
-rw-r--r-- 1 ddeokarb devel 6518 Dec 14 01:47 updateInProgressSince_DDW.pl
-
-
-rw-r--r-- 1 ddeokarb devel 10493 Dec 19 07:13 updateInProgressSince_TouchedFiles_DDW.pl
-
-
-rw-r--r-- 1 ddeokarb devel 6519 Nov 7 05:27 updateProgressDDW.pl
-
-
bash-2.03$ cd temp2
-
- bash-2.03$ ls -l
-
-
total 0
-
-
-rwxrwxrwx 1 ddeokarb devel 0 Dec 14 07:27 9_BLUEBAY__LOADID_682789
-
-
-rwxrwxrwx 1 ddeokarb devel 0 Dec 14 07:27 9_BLUEBAY__LOADID_682790
-
-
-rwxrwxrwx 1 ddeokarb devel 0 Dec 14 07:27 9_BLUEBAY__LOADID_682791
-
-
-rwxrwxrwx 1 ddeokarb devel 0 Dec 14 07:27 9_BLUEBAY__LOADID_682795
-
-
-rwxrwxrwx 1 ddeokarb devel 0 Dec 14 07:27 9_BLUEBAY__LOADID_682796
-
-
I have changed the file permission's for directory and files in the directory
The above is the scrrenshot for the same. I am trying to delete the files from the temp2 directory. But its not deleting…
Frist I tried the below code
-
while ( $entry = readdir( DIR ) ) {
-
my $last_index=rindex($entry,"_");
-
my $tempString;
-
if($last_index != -1){
-
$tempString=substr($entry,$last_index+1);
-
}
-
if($loadIdFromFiles == $tempString)
-
{
-
$sendMailFlag=1;
-
my $tempflag=unlink($entry);
-
if ($tempflag == 1) {
-
print "File $entry deleted successfully.\n";
-
} else {
-
print "File $entry was not deleted.\n";
-
}
-
}
-
}
-
then I tried this below code
- foreach my $file(@files){
-
next if ($file eq "." or $file eq "..");
-
$type = ( -d "$path\\$file" ) ? "dir" : "file"; # $path is crucial!
-
my $last_index=rindex($file,"_");
-
my $tempString;
-
if($last_index != -1){
-
$tempString=substr($file,$last_index+1);
-
}
-
if($loadIdFromFiles == $tempString)
-
{
-
$sendMailFlag=1;
-
if (unlink("$temppath\\$file")){
-
print "\n$file' was deleted successfully";
-
}else{ print "\nnot able to delete the file $file"; }
-
}
but still I m not able to delete the files…
any idea?
Thanks,
Deepali
Your code is wrong. 0 (zero) indicates failure, not success. 1 (one) indicates success. This is a better way to write the code:
- if (unlink $entry) {
-
print "File $entry deleted successfully.\n";
-
else {
-
print "File $entry was not deleted: $!\n";
-
}
-
$! captures any error message from the operating systems alerting you to why the command failed.