substr01.pl to HTML.

index -|- end

Generated: Tue Feb 2 17:54:57 2010 from substr01.pl 2006/07/11 1.2 KB.

#!/Perl
print "$0 ... Hello, World...\n";
my $line = 'Unix\http--rds.yahoo.com-_ylt=A0Je5EsJF3dE_ksAzOJXNyoA;_ylu=X3oDMTE2YWZxZzBjBGNvbG8DdwRsA1dTMQRwb3MDNQRzZWMDc3IEdnRpZANERlg1XzMw-SI';
my $nline = max_sub($line, 55);
print $nline;
exit(0);
sub max_sub {
   my ($ln, $max) = @_;
   my $nln = $ln;
   if (length($ln) > $max) {
      my @arr = split(/ /,$ln);
      $nln = '';
      my $bit = '';
      my $bl = 0;
      my $sl = 0;
      my $sc = 0;
      foreach my $s (@arr) {
         $sl = length($s);
         $bl = length($bit);
         while ($sl > $max) {
            if ($bl) {
               $bit .= ' ';
            }
            $bit .= substr($s, 0, $max - $bl);
            $s = substr($s, $max - $bl);
            if (length($nln)) {
               $nln .= "<br>\n";
            }
            $nln .= $bit;
            $bit = '';
            $sl = length($s);
            $bl = length($bit);
            $sc = 0;
         }
         if ($bl) {
            if (( $bl + $sc + length($s) ) > $max ) {
               if (length($nln)) {
                  $nln .= "<br>\n";
               }
               $nln .= $bit;
               $bit = $s;
               $sc = 0;
            } else {
               $bit .= ' ';
               $sc++;
               $bit .= $s;
            }
         } else {
            $bit = $s;
            $sc = 0;
         }
      }
      if (length($bit)) {
         if (length($nln)) {
            $nln .= "<br>\n";
         }
         $nln .= $bit;
      }
   }
   return $nln;
}

index -|- top

checked by tidy  Valid HTML 4.01 Transitional