Pin*_*ndo 0 string perl substring
我有以下字符串:
get_url.pl?critic_name=A_O_Scott.
我有以下正则表达式返回之前的任何东西,=但我似乎无法在它之前删除它?
$string=~ s/\=.*$//;
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
使用现有的解析器而不是编写自己的解析器.
use URI qw( );
use URI::QueryParam qw( );
my $uri = URI->new('get_url.pl?critic_name=A_O_Scott', 'http');
Run Code Online (Sandbox Code Playgroud)
然后,如果你想要第一个参数的名称,
my ($first_param_name) = $uri->query_param();
Run Code Online (Sandbox Code Playgroud)
也就是说,大多数情况下,你需要参数的哈希值.
my %params = $uri->query_form();
Run Code Online (Sandbox Code Playgroud)
你说你想删除 get_url.pl,但其他答案假设你想要保留的部分.如果您想在查询之前使用该部件,则可以使用
use URI qw( );
my $uri = URI->new('get_url.pl?critic_name=A_O_Scott', 'http');
$uri->query(undef);
print("$uri\n");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |