CGI-Shorten

 view release on metacpan or  search on metacpan

Shorten.pm  view on Meta::CPAN

	    print CONF $self->{_id}->bstr(), "\n";
	    flock(CONF,LOCK_UN);
	    close CONF;
	}
    }while(!$retval);

    undef $self->{_id};
}    

# ----------------------------------------------------------------------
sub shorten($$) {
    my ($self, $url) = @_;
    my $shurl = $self->{_script_url}.'?'.$self->{_id}->bstr();
    $self->{_lndb}->{$self->{_id}} = $url;
    $self->{_id}++;
    $shurl;
}

# ----------------------------------------------------------------------
sub lengthen($$) {
    my ($self, $url) = @_;
    if($url =~ s/^\Q$self->{_script_url}?\E//o ){
	return $self->{_lndb}->{$'};
    }
}

# ----------------------------------------------------------------------
sub redirect($$) {
    die "Where is your redirection url\n" unless $_[1];
    my $lnurl = $_[0]->lengthen($_[1]);
    return $lnurl ? $cgi->redirect($lnurl) : $cgi->header(-status=> '404'),
}



1;
__END__



( run in 0.278 second using v1.01-cache-2.11-cpan-65fba6d93b7 )