my $string = "(\d+)\:(\d+) (\d+)\/(\d+)\/(\d+)";
What is the purpose of this line? Does it really help you to do what you want to? What happens if you leave it out entirely?
s/// works in place (that is, on the variable it is bound to). What happens if you rewrite it as this:
if ($_ =~ m/(\d+)\:(\d+) (\d+)\/(\d+)\/(\d+)/ ){ $_ =~ s/ / /; }
And of course, m// and s/// works on $_ in lieu of any other variable, so you could even just go:
if (m/(\d+)\:(\d+) (\d+)\/(\d+)\/(\d+)/ ){ s/ / /; }
Which could be shortend to:
s/ / / if m/(\d+)\:(\d+) (\d+)\/(\d+)\/(\d+)/;
Those parens serve no purpose, as you're seemingly not capturing anything, so we can be even more briefer without harming readability:
s/ / / if m/\d+\:\d+ \d+\/\d+\/\d+/;
In reply to Re^5: Space between digits
by muba
in thread Space between digits
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |