view bin/putend @ 341:675590e84904

[rc/cshrc] Better LSCOLORS, prompt.
author Edho Arief <edho@myconan.net>
date Sun, 25 Mar 2012 16:42:46 +0700
parents 917b525eaee0
children
line wrap: on
line source

#!/usr/bin/env perl

use warnings;
use strict;
use File::Basename;

my @files = @ARGV or print("Usage: ",basename($0)," file1 ... fileN\n") && exit(1);
my $skip=0;
foreach (@files) {
  print(qq(Could not find file "$_", skipping\n)) and next() unless -e $_;
  my $newname = $_;
  $newname =~ s/(\.[^.]+$)/[End]$1/;
  $newname =~ s/ (\[.*\])(\[End\])\./ $2$1./;
  $newname =~ s/([^ ])(\[End\]\.)/$1 $2/;
  print(qq($_: $newname already exists, skipping\n)) and next() if -e $newname and $_ ne $newname;
  if ($_ eq $newname) {
    print("$_: no need to rename, skipping\n");
  } else {
    if($skip==1) { print("Result: $_ --> $newname\n"); }
    else {
      if(rename($_, $newname)) { print("$_ -> $newname\n"); }
      else { print("$_: rename failed\n"); }
    }
  }
  next();
}

exit(0);