舉例
有一個比較常見的情景,比如excel裏,一行的列數目是動態的。怎麼獲取這些動態的每一列數據呢?
簡單例子,
my $str=”5.4..032…..33442.442….23..2323..2323..3434..3434..”;
中間有任意個點分隔,但是不知道會有多少個匹配的數字。怎麼用perl實現,並打印出每一個匹配的數字?
perl代碼實現
#!/usr/local/bin/perl
use strict;
use warnings;
my $str="5.4..032.....33442.442....23..2323..2323..3434..3434..";
while($str =~ /(\d+)\.+/){
print $1;
print "\n";
$str =~ s/(\d+)\.+//;
}
執行後,結果如下顯示:
➜ project git:(master) ✗ ./perl-fenzu-dontkonw-times.pl
5
4
032
33442
442
23
2323
2323
3434
3434
➜ project git:(master) ✗