A safe program to replace unix command ‘rm’

[sourcecode]
#!/usr/bin/perl -w

## A safer program to replace unix command "rm"
## Author: Hongyu Zhang

if($#ARGV < 0) {
die("Usage: $0 filename\n");
}

$dir = `echo ~/dumpster`;
chomp $dir;
mkdir $dir unless(-d $dir);

for($i=0; $i<=$#ARGV; $i++) {
croak("Directory $ARGV[$i] not existed") unless(-e $ARGV[$i]);
my @arr = split /\//, $ARGV[$i];
if(-e "$dir/$arr[$#arr]") {
$command = "rm -rf $dir/$arr[$#arr]";
system("$command");
croak("error running command: $command") if($?);
}

$command = "mv -fv $ARGV[$i] $dir";
system("$command");
croak("error running command: $command") if($?);
}
[/sourcecode]

My common .bashrc setup

[sourcecode]
alias vi=’vim’
alias mv=’mv -i’
alias cp=’cp -i’
alias rm=’rm -i’
alias h=’history | tail -200′
alias ls=’ls -CF –color ‘
alias ll=’/bin/ls -lFat –color ‘
alias lh=’/bin/ls -lFth –color ‘
alias l="/bin/ls -lF –color "
alias lt="/bin/ls -lFt –color "
alias new=’/bin/ls -lt | head -10’
alias loc=’find . -name ‘
alias lo=exit
alias m=more
alias s=source
alias cl=clear
alias ldir=’ls -lt | grep "^d" |more’
alias dir=l
alias p=pine
alias grep=’grep -i –color’
alias myps="ps -ef | grep $WHOAMI"

#Cygwin only
alias ping=’$SYSTEMROOT/system32/ping’

export CDPATH=.:~:~/work

## set for perl environment
export PERL5LIB=/home/hzhang/tools/perllib:/home/hzhang/tools/perllib1
[/sourcecode]