I am new to PERL and I want to do a simple function (in LINUX):
find all files that have the extension pseudo.pdf and put the file
names in a file;
parse the file and change all file names current filename plus date:
pseudo+date+.pdf
Move the new file to pseudo directory :
I have written the code which seems to work without any errors and has
been accepted by PERL:
#!/usr/bin/perl -w
open (pdfs, "/var/www/html/reports/shops/pdflist.txt")
||Error('open','file');
@fnames=<pdfs>;
close (pdfs);
($second,$minute,$hour,$day,$month,$year,$weekday,$dayofyear,$isdst)=localtime(time);
$cmonth=$month+1;
$cyear=($year % 100);
$fdate=$cmonth.'-'.$day.'-'.$cyear;
$ext='.pdf';
foreach $pdffile (@fnames2) {
$pdffile=$pdffile.$fdate.$ext;
}
$n=1;
foreach $fnames (@fnames) {
$cnt=index($fnames,".pdf");
$newfile=substr($fnames,0,$cnt);
$newpdf=$newfile.$fdate.$ext;
print "fnames: $fnames \n";
print "new file: $newfile \n";
print "newpdf: $newpdf \n";
print "old= /var/www/html/reports/shops/$fnames \n";
print "new= /var/www/html/reports/shops/$newfile/$newpdf \n";
rename("/var/www/html/reports/shops/$fnames","/var/www/html/reports/shops/
$newfile/$newpdf");
print "\n";
}
I cannot get the rename function to work even if I use the same
directory. I don't get any errors and the file permissions are set
correctly on the files.
Anyone know why this does not work?
Thanks,
1) Don't post here - this newsgroup does not exist
2) What does
rename($from, $to) or warn("cannot rename '$from': $!");
tell you?
--
felix
Perhaps because the directory /var/www/html/reports/shops/$newfile does
not exist?
----== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= East/West-Coast Server Farms - Total Privacy via Encryption =---
> rename("/var/www/html/reports/shops/$fnames","/var/www/html/reports/shops/
> $newfile/$newpdf");
>
> I don't get any errors ...
How can you say you don't get any errors when you don't even check
to see if any errors occurred?
rename($old,$new) or warn("rename($old,$new) failed: $!\n");
-Joe