Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 1st, 2012  |  syntax: None  |  size: 1.20 KB  |  hits: 10  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Error while trying to rename files in script and cmd line
  2. $dir = "/home/naveen/mp3tag/testfolder";
  3. opendir(DMP3, $dir) || die("Cannot open directory");
  4. @files= readdir(DMP3;
  5. foreach $f (@files)
  6. {
  7.   unless ( ($f eq ".") || ($f eq "..") )
  8.   {
  9.     $oldfile = $f;
  10.     $newfile = $f;
  11.     $newfile =~ s/ /_/g;
  12.     print "Old file: $oldfile t";
  13.     print "New file: $newfile";
  14.     print "n";
  15.     rename ("$oldfile", "$newfile") or warn "Couldn't rename $oldfile to $newfile !n";
  16.   }
  17. }
  18.        
  19. $ rename Jacques Greene - Clark (Original Mix).mp3 JG - C.mp3
  20. Bareword "mp3" not allowed while "strict subs" in use at (eval 1) line 1.
  21.  
  22. $ rename Jacques Greene - Clark (Original Mix) JG - C
  23. Can't locate object method "Original" via package "Mix" (perhaps you forgot to load "Mix"?) at (eval 1) line 1.
  24.        
  25. use strict;
  26. use warnings;
  27. use File::Copy;
  28.  
  29. my $dir = '/home/naveen/mp3tag/testfolder';
  30. my @mp3s = glob ("$dir/*.mp3");
  31.  
  32. for my $mp3 (@mp3s) {
  33.     my $new_mp3 = $mp3;
  34.     $new_mp3 =~ s/s/_/g;
  35.     move($mp3, $new_mp3);
  36. }
  37.        
  38. use strict;
  39. use warnings;
  40. use File::Copy qw(move);
  41.  
  42. for (@ARGV) {
  43.     my $org = $_;
  44.     tr/ /_/;
  45.     move($org, $_) or warn "Couldn't move $org to $_: $!";
  46. }
  47.        
  48. perl script.pl /home/naveen/mp3tag/testfolder/*.mp3