sub update {
my ( $url, $dir ) = @_;
my @possible_suffixes = qw( .gz .bz2 );
my $basename = extract_basename( $url, @possible_suffixes );
my $local_file = "$dir/$basename";
####
return if -e $local_file and not is_newer( $url, $local_file );
####
my $temp_file = download( $url, TEMP_DIR ) or die "download of $url failed";
####
if ( -e $local_file ) {
my $new_name = rename_file( $local_file, suffix( time ) );
compress( $new_name );
}
####
move_file( $temp_file, $local_file );
maybe_uncompress( $local_file );
####
return 1;
}