我是perl的新手.任何人都可以解释以下代码行的含义:
my ($H,$M,$S) = $date =~ m{^([0-9]{2}):([0-9]{2}):([0-9]{2})}
我认为这一行执行后$H
,$M
并且$S
将有来自提取的值$date
.任何人都可以解释,以获得更好的理解?
它尝试$date
使用正则表达式匹配变量的内容:
^([0-9]{2}):([0-9]{2}):([0-9]{2})
正则表达式基本上意味着:从字符串的开头,应该有两个数字和冒号重复三次.这三个两位数字中的每一个都包含在一个组中.
最后,将三组的匹配分配给局部变量$H
,$M
和$S
.
$date = "10:37:21 2016.01.02";
然后
$H = "10"; $M = "37"; $S = "21";