on Wed, 04 Sep 2002 07:44:01 GMT, [EMAIL PROTECTED]
(David Samuelsson) wrote: 

[Why are you quoting yourself in an original post?]

>> I want tips, on
>> optimizing, and things that can be done smaller and better.
>> Changes goes inside the box. 

>> use strict;
>> my (@vobs,$vob,$view,$text,@views,@sviews,$viewname,$viewinfo);

I usually declare my variables close to where I first need them.

>> $a = localtime(time);

Don't use '$a' (or '$b'). These are special variables for use with the 
'sort' function. Did you notice how the undeclared variable '$a' 
doesn't generate an error, although strictures are turned on?

>> `del $errors`;

There is no need to spawn another process to delete a file. Perl has 
the 'unlink' function. See perldoc -f unlink.

>> open (HTML,">$html") or die "error: $!";
>> print HTML "<html>\n<head>\n<title>ClearCase Views with

You could use a here-document, or the construct

    print HTML qq{
      A lot of
      HTML lines
      to print
    };

to avoid the repetition of 'print HTML' statements
>> @vobs = `cleartool lsvob -s`;
>> foreach $vob (@vobs)

   my @vobs = `cleartool lsvob -s`; 
   foreach my $vob (@vobs) {

as explained above

>> {
>>     chomp $vob;
>>     print "checkin $vob\n";
>>     open (A, "cleartool desc -l vob:$vob |");

Always, yes always check the return value of a system call

>>     while (<A>)
>>     {
>>         if ($_ =~ /.uuid./i)
>>         {
>>             chomp $_;
>>             $_ =~ s/.*\[uuid (.*)\]/$1/;
>>             $view = `cleartool lsview -s -uuid $_ 2>&1`;
>>             chomp $view;
>>          if ($view =~ /.Error:./)
>>                     {
>>                         open (LOGFILE, ">>$errors") or die  "cant
>>                         open $!"; print LOGFILE "ERROR IN $vob: 
>>                         $view\n"; 
>>                     }
>>                 else
>>                     {
>>                         $text = "$view $vob\n";
>>                         push (@views,$text);
>>                     }
>>             }
>>         }
>>     }
>>         @sviews = sort {lc $a cmp lc $b}@views;

Your original $a variable to which you assigned the localtime is now 
gone.

>>         print "Printing HTML to $html\n";
>>         foreach $view (@sviews)
>>         {
>>             ($viewname, $vob) = split (/\s+/, $view);
>>             $viewinfo = `cleartool lsview -l $viewname`;
>>             if ($viewinfo =~ /snapshot/)
>>                 {
>>                     print HTML "<tr>\n\t<tr
>>                     bgcolor\=\"\#FFFF99\">\n\t<td>$viewname</td>\n
>>                     \t<td>Snapshot</td>\n\t<td>$vob</td>"; 
>>                 }
>>                 else
>>                 {
>>                     print HTML "<tr>\n\t<tr
>>                     bgcolor\=\"\#FFFF99\">\n\t<td>$viewname</td>\n
>>                     \t<td>Dynamic</td>\n\t<td>$vob</td>"; 
>>                 }
>>             }

If you use 
   
   print qq{You don't have to escape your "quotes"};


-- 
felix

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to