#!/usr/bin/perl -w # Usage: backup use strict; use File::Copy; die "Usage: backup \n" unless @ARGV > 0; my $dir; print "Directory to keep backups in [Enter for the default]: "; $dir = ; chomp $dir; if ( $dir eq "\n" ) { $dir = "$ENV{HOME}/.backup"; print "Your backups will be kept in the default directory: $ENV{HOME}/.backup!\n"; } -e $dir || mkdir $dir,600 || warn "Cannot create $dir: $!"; my (@files, $file); @files = @ARGV; foreach $file (@files) { date($file); system("mv $file $dir") or die "moving failed\n"; } sub date { my ( $day, $month, $year ) = (localtime)[3 .. 5]; $month = 0 . $month if $month < 10; $year += 1900; my $stamp = join '-', $year, $month, $day; rename $_, "$stamp.$_"; }