#!/usr/bin/perl

use CGI qw/:standard/;
use strict;

my $version='1.0';


# Quiero probar como enviar un archivo por perl

######################################################################
######################################################################
my $q = new CGI;

my $buffer;

my $archivo = $q->param('a');
my $sitio   = 'http://www.tinet.org/~luchi/descarga/zip';

my $error=&cuentaDescarga($archivo);


print "Content-type: text/html\n";
print "Location: $sitio/$archivo\n\n";



######################################################################
# Cuenta el número de descargas de un archivo determinado
######################################################################
sub cuentaDescarga{
	my ($deDonde)=(@_);
	my @linea;
	my @archivo;
	my $encontrado;


	open(F1, "descargas") || return -1;
	while(flock(F1,2)<0){};
	while (<F1>){
		push @archivo, $_;
	}
	close (F1);

	open(F1, ">descargas") || return -2;
	while(flock(F1,2)<0){};
	foreach(@archivo){
		$_=~s/\n|\r//gm;	# quitamos retornos de línea
		@linea=split / /, $_;
		if (@linea[1] eq $deDonde){
			@linea[0]++;
			$_=@linea[0].' '.@linea[1];
			$encontrado++;
		}
		print F1 $_."\n";
	}
	print F1 "1 ".$deDonde."\n" if !$encontrado;
	close (F1);

  return 0;
}
