#!/usr/bin/perl use strict; use Data::Dumper; my $regex = qr/^(\d{4})-(\d{2})-(\d{2})/; my $s = '2011-02-15'; my ($y, $m, $d) = ($s =~ /$regex/)[0, 1, 2]; print Data::Dumper->Dump([$y, $m, $d], [qw/y m d/]); #### #!/usr/bin/perl use strict; use Data::Dumper; use constant REGEX => qr/^(\d{4})-(\d{2})-(\d{2})/; my $s = '2011-02-15'; my ($y, $m, $d) = ($s =~ /&{[REGEX]}/)[0, 1, 2]; print Data::Dumper->Dump([$y, $m, $d], [qw/y m d/]);