NewToPerl777 has asked for the wisdom of the Perl Monks concerning the following question:
I have seen similar questions posted around and have tried researching this topic prior to asking you all, but I am stuck. I am trying, through command-line argument, take a directory, search for all file extensions in that directory that end in .pl and change them to .txt. I then want to go into any of the subdirectories in that parent directory and do the same thing. I am trying to use glob, because it seems like a neat little function. I don't have to use glob. I was just trying to solve this by using glob, so I am open to any other suggestions.
I have tried changing the file extensions in one directory. I am trying to start small, but it does not work as intended. There are no compile errors, but I believe my understanding of some of the commands are incorrect.
This is what I have so far:
#!/usr/local/bin/perl use strict; use warnings; my @argv; my $dir = $ARGV[0]; my @files = glob "${dir}'*pl*'"; foreach (@files) { next if -d; (my $txt = $_) =~ s/pl$/txt/; rename($_, $txt); }
Test Example: "Insert a directory:" TestDir "Changing file formats in TestDir from .pl to .txt." "Changing file format in subdirectories of TestDir from .pl to .txt" etc.
Any help is appreciated.
|
|---|