diff options
Diffstat (limited to 'Tools.pm')
-rw-r--r-- | Tools.pm | 19 |
1 files changed, 7 insertions, 12 deletions
@@ -29,23 +29,18 @@ our $VERSION = '0.1'; use base 'Exporter'; -#our @EXPORT = qw(parse_mageia_iso_name); +our @EXPORT = qw(parse_mageia_iso_name); sub parse_mageia_iso_name { my ($name) = @_; my %info; - if ($name =~ m/^(Mageia)-(\d+)(-(alpha|beta|RC)(\d*))?(-(.*))?-(i586|x86_64|dual)?(-(CD|DVD|BD))?(-(build_\w+))?\.(.*)$/) { - $info{full} = $name; - $info{name} = $1 if defined $1; - $info{version} = $2 if defined $2; - $info{release} = "$4$5" if defined $4; - $info{variant} = $7 if defined $7; - $info{arch} = $8 if defined $8; - $info{medium} = $10 if defined $10; - $info{build} = $12 if defined $12; - $info{ext} = $13 if defined $13; - + if ((@info{qw(name version release variant arch medium build ext)}) + = $name =~ m/^(Mageia)-(\d+)-((?:alpha|beta|RC)\d*)?(-(?:.*))?-(i586|x86_64|dual)?(?:-(CD|DVD|BD))?(?:-(build_\w+))?\.(.*)$/) + { + $info{full} = $name; + } else { + %info = (); } return %info; |