in reply to capture groups are not working -- why??
/^Current time =>\s(\d\d\d\d)(\d\d)(\d\d)\S(\d\d)(\d\d)(\d\d)/sx ;
The capture groups "do not work" because your regex does not match. Your regex does not match because the whitespace in the regex is ignored due to the //x regex modifier. If you wish to use the //x modifier (a good idea in general, IMHO), use [ ] or \s to represent a space or whitespace.
>perl -wMstrict -le
"my $s = 'Current time => 123';
print 'match 1' if $s =~ /Current time => 123/x;
print 'match 2' if $s =~ /Current [ ] time \s => \s+ 123/x;