Simopoulos wrote:
>
> Hi All,
Hello,
> I'm a newbie just starting out learning Perl.
> My problem is I have a bunch of files that are (.doc) files, and I want to rename
> the files (.data).
> I also want move then to another directory, but I don't really want to destroy or
> change the old ones (.doc).
> What I've done so far doesn't work the way I want it to. It is:
>
> #! /usr/bin/perl -w
> opendir(DOCUMENTS,".") || die "Can't open directory documents!";
> @filenames = readdir(DOCUMENTS);
> closedir(DOCUMENTS);
> foreach $filename(@filenames) {
> if ($filename =~ m/\.doc$/i) {
> rename($filename, "/home/marsie/data/$filename.dat") ||
> die "Can't move files";
> } else {
> print "Not a .doc file!\n";
> }
> }
>
> I would appreciate any help anyone can offer.
> Peace,
> Marsie
#!/usr/bin/perl -w
use strict;
use File::Copy;
opendir DOCUMENTS, '.' or die "Can't open directory documents: $!";
my @filenames = grep /\.doc$/i, readdir DOCUMENTS;
closedir DOCUMENTS;
foreach my $filename ( @filenames ) {
( my $new = $filename ) =~ s/\.doc$//i;
copy( $filename, "/home/marsie/data/$new.dat" )
or warn "Can't copy $filename: $!";
}
__END__
John
--
use Perl;
program
fulfillment
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]