r27862 - /trunk/dh-make-perl/dh-make-perl
dmn at users.alioth.debian.org
dmn at users.alioth.debian.org
Sun Dec 7 17:15:51 UTC 2008
Author: dmn
Date: Sun Dec 7 17:15:49 2008
New Revision: 27862
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=27862
Log:
Dep: add parse() -- constructor parsing a single dependency
Modified:
trunk/dh-make-perl/dh-make-perl
Modified: trunk/dh-make-perl/dh-make-perl
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/dh-make-perl?rev=27862&op=diff
==============================================================================
--- trunk/dh-make-perl/dh-make-perl (original)
+++ trunk/dh-make-perl/dh-make-perl Sun Dec 7 17:15:49 2008
@@ -426,6 +426,42 @@
? $self->pkg . ' (' . $self->rel . ' ' . $self->ver . ')'
: $self->pkg
);
+}
+
+sub parse {
+ my ( $class, $str ) = @_;
+
+ if ( $str =~ m{
+ ^ # start from the beginning
+ ([^\(\s]+) # package name - no paren, no space
+ \s* # oprional space
+ (?: # version is optional
+ \( # opening paren
+ ( # various relations
+ <<
+ | <=
+ | ==
+ | >=
+ | >>
+ )
+ \s* # optional space
+ (.+) # version
+ \) # closing paren
+ )?
+ $}x # done
+ )
+ {
+ return $class->new( {
+ pkg => $1,
+ ( ( defined($2) and defined($3) )
+ ? ( rel => $2, ver => $3 )
+ : ()
+ )
+ } );
+ }
+ else {
+ die "Unable to parse '$str'";
+ }
}
sub parse_list {
More information about the Pkg-perl-cvs-commits
mailing list