CGI-Shorten
view release on metacpan or search on metacpan
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.654 second using v1.01-cache-2.11-cpan-65fba6d93b7 )