You've not included the actual rename in there (which I suspect you're aware of) but the code won't work because you're match should be m/\s+/g - the \s matches whitespace rather than the /s you have. Also the s///g is slightly incorrect. A basic outline might look something like:
#!/usr/bin/perl my $file = '.'; opendir(DIR,$file); @files=readdir(DIR); close(DIR); for(@files) { if ( m/ /g) { my $oldfile = $_; s/ /_/g; rename $oldfile, $_; } print $_."\n"; }
Of course, you need to consider what happens if you have a conflict such as what would happen if you had 2 files called 'test file' & 'test_file' - how would you handle this?
Hey, if there's code up ^^ there ^^, don't blame me if it doesn't work.
But today you took me walking, Through a land that we have lost,
While our children sit at websites, With no access to the cost
In reply to Re: Renaming files
by sch
in thread Renaming files
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |