aboutsummaryrefslogtreecommitdiffstats
path: root/Tools.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Tools.pm')
-rw-r--r--Tools.pm19
1 files changed, 7 insertions, 12 deletions
diff --git a/Tools.pm b/Tools.pm
index 3532186..54d4f66 100644
--- a/Tools.pm
+++ b/Tools.pm
@@ -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;