[Bio] / FigKernelPackages / Tracer.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/Tracer.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.52, Wed Jun 14 01:12:42 2006 UTC revision 1.57, Thu Jun 29 19:00:28 2006 UTC
# Line 1348  Line 1348 
1348      return @inputList;      return @inputList;
1349  }  }
1350    
1351    =head3 Percent
1352    
1353    C<< my $percent = Tracer::Percent($number, $base); >>
1354    
1355    Returns the percent of the base represented by the given number. If the base
1356    is zero, returns zero.
1357    
1358    =over 4
1359    
1360    =item number
1361    
1362    Percent numerator.
1363    
1364    =item base
1365    
1366    Percent base.
1367    
1368    =item RETURN
1369    
1370    Returns the percentage of the base represented by the numerator.
1371    
1372    =back
1373    
1374    =cut
1375    
1376    sub Percent {
1377        # Get the parameters.
1378        my ($number, $base) = @_;
1379        # Declare the return variable.
1380        my $retVal = 0;
1381        # Compute the percent.
1382        if ($base != 0) {
1383            $retVal = $number * 100 / $base;
1384        }
1385        # Return the result.
1386        return $retVal;
1387    }
1388    
1389  =head3 GetFile  =head3 GetFile
1390    
1391  C<< my @fileContents = Tracer::GetFile($fileName); >>  C<< my @fileContents = Tracer::GetFile($fileName); >>
# Line 1606  Line 1644 
1644    
1645  =head3 AddToListMap  =head3 AddToListMap
1646    
1647  C<< Tracer::AddToListMap(\%hash, $key, $value); >>  C<< Tracer::AddToListMap(\%hash, $key, $value1, $value2, ... valueN); >>
1648    
1649  Add a key-value pair to a hash of lists. If no value exists for the key, a singleton list  Add a key-value pair to a hash of lists. If no value exists for the key, a singleton list
1650  is created for the key. Otherwise, the new value is pushed onto the list.  is created for the key. Otherwise, the new value is pushed onto the list.
# Line 1621  Line 1659 
1659    
1660  Key for which the value is to be added.  Key for which the value is to be added.
1661    
1662  =item value  =item value1, value2, ... valueN
1663    
1664  Value to add to the key's value list.  List of values to add to the key's value list.
1665    
1666  =back  =back
1667    
# Line 1631  Line 1669 
1669    
1670  sub AddToListMap {  sub AddToListMap {
1671      # Get the parameters.      # Get the parameters.
1672      my ($hash, $key, $value) = @_;      my ($hash, $key, @values) = @_;
1673      # Process according to whether or not the key already has a value.      # Process according to whether or not the key already has a value.
1674      if (! exists $hash->{$key}) {      if (! exists $hash->{$key}) {
1675          $hash->{$key} = [$value];          $hash->{$key} = [@values];
1676      } else {      } else {
1677          push @{$hash->{$key}}, $value;          push @{$hash->{$key}}, @values;
1678      }      }
1679  }  }
1680    
# Line 2010  Line 2048 
2048      }      }
2049  }  }
2050    
2051    =head3 CommaFormat
2052    
2053    C<< my $formatted = Tracer::CommaFormat($number); >>
2054    
2055    Insert commas into a number.
2056    
2057    =over 4
2058    
2059    =item number
2060    
2061    A sequence of digits.
2062    
2063    =item RETURN
2064    
2065    Returns the same digits with commas strategically inserted.
2066    
2067    =back
2068    
2069    =cut
2070    
2071    sub CommaFormat {
2072        # Get the parameters.
2073        my ($number) = @_;
2074        # Pad the length up to a multiple of three.
2075        my $padded = "$number";
2076        $padded = " " . $padded while length($padded) % 3 != 0;
2077        # This is a fancy PERL trick. The parentheses in the SPLIT pattern
2078        # cause the delimiters to be included in the output stream. The
2079        # GREP removes the empty strings in between the delimiters.
2080        my $retVal = join(",", grep { $_ ne '' } split(/(...)/, $padded));
2081        # Clean out the spaces.
2082        $retVal =~ s/ //g;
2083        # Return the result.
2084        return $retVal;
2085    }
2086  =head3 SetPermissions  =head3 SetPermissions
2087    
2088  C<< Tracer::SetPermissions($dirName, $group, $mask, %otherMasks); >>  C<< Tracer::SetPermissions($dirName, $group, $mask, %otherMasks); >>
# Line 2081  Line 2154 
2154              # that, we need to pull the individual part of the name off of the              # that, we need to pull the individual part of the name off of the
2155              # whole path.              # whole path.
2156              my $simpleName = $dir;              my $simpleName = $dir;
2157              if ($dir =~ m!/(.+)$!) {              if ($dir =~ m!/([^/]+)$!) {
2158                  $simpleName = $1;                  $simpleName = $1;
2159              }              }
2160                Trace("Simple directory name for $dir is $simpleName.") if T(4);
2161              # Search for a match.              # Search for a match.
2162              my $match = 0;              my $match = 0;
2163              my $i;              my $i;

Legend:
Removed from v.1.52  
changed lines
  Added in v.1.57

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3