#!/user/bin/perl -w use strict; use CGI q~:standard~; my ($BasePath, $i, @NewsBoard, @NewsFile, $NewsPost, @News, $ID, @Month, $Sec, $Min, $Hour, $MDay, $Mon, $Year, $WDay, $YDay, $IsDST, $Time); @Month = ('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); $BasePath = 'D:/finalfantasyinfo/community'; open (FILE, "$BasePath/boards/news.txt") or die 'Can not open new board file'; @NewsBoard = ; close FILE; @NewsBoard = sort { $b <=> $a } @NewsBoard; $i = 0; while ($i < 4) { @NewsFile = split (/\|/, "$NewsBoard[$i]"); open (FILE, "$BasePath/messages/$NewsFile[0].txt") or die 'Can not open News File'; $NewsPost = ; close FILE; @News = split (/\|/, "$NewsPost"); &ProcessHTML(); $i++; } sub ProcessHTML { $ID = $News[3]; ($Sec, $Min, $Hour, $MDay, $Mon, $Year, $WDay, $YDay, $IsDST) = localtime($News[3]); if ($Min < 10) { $Min = qq~0$Min~; } if ($Hour > 12) { $Hour = $Hour -12; $Hour = qq~$Hour:$Min P.M.~; } else { $Hour = qq~$Hour:$Min A.M.~; } $Year = 1900 + $Year; $Time = qq~$Hour on $Month[$Mon] $MDay, $Year~; $News[8] =~ s/\[(\/)?(b|u|i)\]/<$1$2>/gi; $News[8] =~ s~\[center](.*?)\[/center]~
$1
~gi; $News[8] =~ s~\[url=(\S+?)\](.*?)\[/url\]~$2~gi; $News[8] =~ s~\[img](.*?)\[/img\]~~gi; $News[8] =~ s~\s*\[\*\]~
  • ~isg; $News[8] =~ s~\[olist\]~
      ~isg; $News[8] =~ s~\s*\[/olist\]~
    ~isg; $News[8] =~ s~
    1. ~
        ~isg; $News[8] =~ s~
          ~
            ~isg; $News[8] =~ s~\[list\]~
              ~isg; $News[8] =~ s~\s*\[/list\]~
            ~isg; $News[8] =~ s~
              ~
                ~isg; $News[8] =~ s~
                  ~
                    ~isg; $News[8] =~ s~\[ch9679\]~●\;~isg; print qq~

                    $News[0]
                    Posted by: $News[1] at $Time

                    $News[8]

                    Discuss this posting.

                    ~; }