On Wed, 27 May 2009 12:18:28 +0300, Damyan Ivanov wrote: > > dh-make-perl gives a warning > > Use of uninitialized value in pattern match (m//) at > > /usr/share/perl5/DhMakePerl.pm line 545. > The warning is present in trunk too. The cause is that no --cpan > option is given and the dist name matches /-perl$/. Here's the code: > > ( $perlname, $version ) = $self->extract_name_ver(); > $pkgname = lc $perlname; > $pkgname = 'lib' . $pkgname unless $pkgname =~ /^lib/; <=== > $pkgname .= '-perl' > unless ( $pkgname =~ /-perl$/ > and $self->cfg->cpan !~ /::perl$/i ); > > As I see it (unless !~ is confusing me) , the idea is to not append > -perl to package name if it is already there, unless -perl$ was > specified on the command line. So things like File::Find::Rule::Perl > get a package name of libfile-find-rule-perl-perl.
Yup, but IIRC (I took a short look yesterday) the warning comes from the line marked with "<==" above, which means that $pkgname is not initialized which means that the problem is with $perlname which means that $self->extract_name_ver() would need some investigation (that's when I went to bed :)). > I think that the while condition > shall be dropped, i.e. > $pkgname .= '-perl'; > How does this sound? I agree, but unless I missed something yesterday the warning will still happen in the line before :) Cheers, gregor -- .''`. Home: http://info.comodo.priv.at/{,blog/} / GPG Key ID: 0x00F3CFE4 : :' : Debian GNU/Linux user, admin, & developer - http://www.debian.org/ `. `' Member of VIBE!AT, SPI Inc., fellow of FSFE | http://got.to/quote/ `- "Rome wasn't burned in a day. " -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

