# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
binmode STDOUT, ":utf8";
-my $VERSION = "0.9";
+my $VERSION = "0.10";
my $src;
my $dst;
my $src_filename;
-print "torn version $VERSION, Copyright (C) 2007-2020 Sergey Matveev
+if ($#ARGV >= 0) {
+ print "torn version $VERSION, Copyright (C) 2007-2020 Sergey Matveev
torn comes with ABSOLUTELY NO WARRANTY. This is free software,
-and you are welcome to redistribute it under certain conditions.\n\n";
+and you are welcome to redistribute it under certain conditions.\n
+Usage: just run inside the directory. Look for POD inside the script itself.\n";
+};
opendir DIR, "." or die "Can not open directory\n";
foreach (sort readdir DIR) {
# Skip directory itself
next if /^\.{1,2}$/;
+ next if -d;
$src_filename = $_;
$src = decode "utf-8", $src_filename;
$dst =~ s/Ю/Ju/g;
# Lowercase file extensions
- if($dst =~ /^(.*)\.([^\.]+)$/){
+ if ($dst =~ /^(.*)\.([^\.]+)$/) {
$dst = $1 . "." . lc $2;
};
# Change looking of track numbers
- # And renaming itself
- if($dst =~ /^(\d+)\-(.+)$/){
- print "$src -> $1.$2\n";
- rename $src_filename, "$1.$2";
- } else {
- print "$src -> $dst\n";
- rename $src_filename, $dst;
+ if ($dst =~ /^(\d+)[-.]_*(.+)$/) {
+ $dst = "$1.$2";
};
+
+ next if ($src_filename eq $dst);
+ print "$src -> $dst\n";
+ die "\"$dst\" exists" if -e $dst;
+ rename $src_filename, $dst;
};
closedir DIR;