#!/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 ( not $dir ) { $dir = "$ENV{HOME}/.backup"; print "Your backups will be kept in the default directory: $ENV{HOME}/.backu p\n"; } -e $dir || mkdir $dir || warn "Cannot create $dir: $!"; my ( @files, $file ); @files = @ARGV; my $date = date(); foreach $file (@files) { copy $file, "$dir/$date.$file" or die "copy failed: $!"; } sub date { my ( $day, $month, $year ) = (localtime)[3 .. 5]; $month = 0 . $month if $month < 10; $year += 1900; return join '-', $year, $month, $day; }