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


in reply to regexp wizardry needed

Perhaps the following will be helpful:

use strict; use warnings; my $lines2 = " PERIOD 13 OCT 06 OCT"; my @date = map ucfirst lc, split ' ', $lines2; print "$date[2] $date[3] and $date[2] $date[1]";

Output:

Oct 06 and Oct 13

Update: Removed an unnecessary map. Thanks, johngg!

Replies are listed 'Best First'.
Re^2: regexp wizardry needed
by johngg (Canon) on Jan 25, 2013 at 23:24 UTC
    my @date = map ucfirst, map lc, split ' ', $lines2;

    I'm not sure why you are going with two maps, one would be sufficient.

    $ perl -E ' > $line = q{PERIOD 13 OCT 06 OCT}; > say for map ucfirst lc, split q{ }, $line;' Period 13 Oct 06 Oct $

    I hope this is of interest.

    Cheers,

    JohnGG

      I'm not sure why you are going with two maps...

      I didn't think of it, so this is certainly of interest. Greatly appreciate you sharing this, JohnGG!