http://www.perlmonks.org?node_id=469204


in reply to splitting a string into arbitrary lengths

You could do it with a regex as well:
my ($tyear, $tmon, $tday) = ($today =~ /(\d{4})(\d{2})(\d{2})/);
This would be a good route if you had a less standard format, like optional dashes.

-- Kirby, WhitePages.com

Replies are listed 'Best First'.
Re^2: splitting a string into arbitrary lengths
by ihb (Deacon) on Jun 23, 2005 at 20:49 UTC

    That is what I'd perhaps use too, depending on the application. If I'd chose this way I'd even tag along a success check (and add anchors). Your format may change some day and then you'll be glad you caught that.

    my ($y, $m, $d) = $today =~ /^(\d\d\d\d)(\d\d)(\d\d)\z/ or die "Incorrect date format: '$today'";

    ihb

    See perltoc if you don't know which perldoc to read!