Change 13368 by jhi@alpha on 2001/11/29 15:40:40

        Subject: [PATCH lib/Term/Cap.pm] (was Re: warnings from  [PATCH Perl@13013] 
Term::Cap and VMS )
        From: Jonathan Stowe <[EMAIL PROTECTED]>
        Date: Thu, 29 Nov 2001 16:31:24 +0000 (GMT)        
        Message-ID: <[EMAIL PROTECTED]>

Affected files ...

.... //depot/perl/lib/Term/Cap.pm#18 edit

Differences ...

==== //depot/perl/lib/Term/Cap.pm#18 (text) ====
Index: perl/lib/Term/Cap.pm
--- perl/lib/Term/Cap.pm.~1~    Thu Nov 29 08:45:05 2001
+++ perl/lib/Term/Cap.pm        Thu Nov 29 08:45:05 2001
@@ -17,6 +17,8 @@
 #       Fixed no argument Tgetent()
 # Version 1.03:  Wed Nov 28 10:09:38 GMT 2001
 #       VMS Support from Charles Lane <[EMAIL PROTECTED]>
+# Version 1.04:  Thu Nov 29 16:22:03 GMT 2001
+#       Fixed warnings in test
 
 # TODO:
 # support Berkeley DB termcaps
@@ -276,19 +278,19 @@
     # Precompile $entry into the object
     $entry =~ s/^[^:]*://;
     foreach $field (split(/:[\s:\\]*/,$entry)) {
-       if ($field =~ /^(\w\w)$/) {
+       if (defined $field && $field =~ /^(\w\w)$/) {
            $self->{'_' . $field} = 1 unless defined $self->{'_' . $1};
            # print STDERR "DEBUG: flag $1\n";
        }
-       elsif ($field =~ /^(\w\w)\@/) {
+       elsif (defined $field && $field =~ /^(\w\w)\@/) {
            $self->{'_' . $1} = "";
            # print STDERR "DEBUG: unset $1\n";
        }
-       elsif ($field =~ /^(\w\w)#(.*)/) {
+       elsif (defined $field && $field =~ /^(\w\w)#(.*)/) {
            $self->{'_' . $1} = $2 unless defined $self->{'_' . $1};
            # print STDERR "DEBUG: numeric $1 = $2\n";
        }
-       elsif ($field =~ /^(\w\w)=(.*)/) {
+       elsif (defined $field && $field =~ /^(\w\w)=(.*)/) {
            # print STDERR "DEBUG: string $1 = $2\n";
            next if defined $self->{'_' . ($cap = $1)};
            $_ = $2;
@@ -349,7 +351,7 @@
     my($string, $cnt, $FH) = @_;
     my($decr, $ms);
 
-    if ($string =~ /(^[\d.]+)(\*?)(.*)$/) {
+    if (defined $string && $string =~ /(^[\d.]+)(\*?)(.*)$/) {
        $ms = $1;
        $ms *= $cnt if $2;
        $string = $3;
End of Patch.

Reply via email to