⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _query.pm

📁 1. 记录每个帖子的访问人情况
💻 PM
字号:
package URI::_query;use strict;use URI ();use URI::Escape qw(uri_unescape);sub query{    my $self = shift;    $$self =~ m,^([^?\#]*)(?:\?([^\#]*))?(.*)$,s or die;    if (@_) {	my $q = shift;	$$self = $1;	if (defined $q) {	    $q =~ s/([^$URI::uric])/$URI::Escape::escapes{$1}/go;	    $$self .= "?$q";	}	$$self .= $3;    }    $2;}# Handle ...?foo=bar&bar=foo type of querysub query_form {    my $self = shift;    my $old = $self->query;    if (@_) {        # Try to set query string        my @query;        while (my($key,$vals) = splice(@_, 0, 2)) {            $key = '' unless defined $key;	    $key =~ s/([;\/?:@&=+,\$%])/$URI::Escape::escapes{$1}/g;	    $key =~ s/ /+/g;	    $vals = [ref($vals) ? @$vals : $vals];            for my $val (@$vals) {                $val = '' unless defined $val;		$val =~ s/([;\/?:@&=+,\$%])/$URI::Escape::escapes{$1}/g;                $val =~ s/ /+/g;                push(@query, "$key=$val");            }        }        $self->query(join('&', @query));    }    return if !defined($old) || !length($old) || !defined(wantarray);    return unless $old =~ /=/; # not a form    map { s/\+/ /g; uri_unescape($_) }         map { /=/ ? split(/=/, $_, 2) : ($_ => '')} split(/&/, $old);}# Handle ...?dog+bones type of querysub query_keywords{    my $self = shift;    my $old = $self->query;    if (@_) {        # Try to set query string	my @copy = @_;	for (@copy) { s/([;\/?:@&=+,\$%])/$URI::Escape::escapes{$1}/g; }	$self->query(join('+', @copy));    }    return if !defined($old) || !defined(wantarray);    return if $old =~ /=/;  # not keywords, but a form    map { uri_unescape($_) } split(/\+/, $old, -1);}# Some URI::URL compatibility stuff*equery = \&query;1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -