Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取字符串PERL中的某些值_Perl_Ip_Uri_Port - Fatal编程技术网

读取字符串PERL中的某些值

读取字符串PERL中的某些值,perl,ip,uri,port,Perl,Ip,Uri,Port,我想用Perl读取字符串,但似乎无法正确读取。字符串为: udp://10.111.80.95:8081 从这个字符串中,我只想读取ip地址部分,它是: 10.111.80.95 8081 而且我只想阅读端口部分,它是: 10.111.80.95 8081 因此,我有两个可以读取的值,即ip地址和端口 我怎样才能做到这一点?我需要使用正则表达式吗?但是我的正则表达式从来没有正确过。有人能帮我吗?谢谢。没有必要使用正则表达式来满足这种需要,拆分就足够了。您可以在/和:处拆分字符串,然后第

我想用Perl读取字符串,但似乎无法正确读取。字符串为:

udp://10.111.80.95:8081
从这个字符串中,我只想读取ip地址部分,它是:

10.111.80.95
8081
而且我只想阅读端口部分,它是:

10.111.80.95
8081
因此,我有两个可以读取的值,即ip地址和端口


我怎样才能做到这一点?我需要使用正则表达式吗?但是我的正则表达式从来没有正确过。有人能帮我吗?谢谢。

没有必要使用正则表达式来满足这种需要,
拆分
就足够了。您可以在
/
处拆分字符串,然后第三个字段是ip地址,第四个字段是端口号

#!/usr/bin/perl

use strict;
use warnings;

use feature qw(switch say);

use Data::Dumper;

while (<DATA>) {
    chomp;
    my @field = split /\/|:/;
    print "$field[3] $field[4]\n";
}

__DATA__
udp://10.111.80.95:8081