#!/usr/bin/perl -wT use strict; use CGI; push @INC, "../../i"; require NaiveCGI; # global variables my ($cgi_obj) = new CGI; my (%form_data) = NaiveCGI::ImportFormParam($cgi_obj); my (@major_names, $major_name, @sites, $site); @major_names = qw(ARCHIE CPAN CRAN LDP METALAB RFC RPMFIND RTFM SIMTELNET); foreach (qw(major)) { NaiveCGI::Launder(\$form_data{$_}); } if (defined $form_data{site}) { # print "Content-type: text/plain\n\n"; # foreach (keys %form_data) { # print "$_: $form_data{$_}\n"; # } $site = NaiveCGI::FastGrep($form_data{major}, "^(.*$form_data{site}.*)\$"); my $url = $site; $url .= "/$form_data{path}" if $form_data{path}; $url =~ s#([^:])//+#$1/#g; # print "$url\n"; print $cgi_obj->redirect($url); exit; } @major_names = ($form_data{major}) if (defined $form_data{major}); my $title = defined $form_data{major} ? $form_data{major} : "著名站臺"; & NaiveCGI::PrintHeader("$title 映射站"); print <<'eof';

許多著名的 ftp 站臺都有它們的映射站, 以分散 ftp 流量. 為了方便讀者找到我網頁上所提到的一些檔案, 在連不上原始站臺的時候, 可以到映射站臺去找, 所以我用這樣間接的方式來作 hyperlinks. 希望「多走一個中繼站網頁」的小小麻煩可以換來比較穩定的鏈結.

如果連得上某映射站, 卻找不到某網頁, 也許是那個站的擺設與原始站臺不同. 你可以試試看到該站的首頁 (把瀏覽器上面顯示的網址當中, 路徑的部分刪除), 再往下找找看; 或者也可以試試其他映射站.

萬一要是 作者的站 掛掉了怎麼辦? 如果你使用此頁次數頻繁, 那麼建議你 下載 我的網頁. 這支 cgi 程式也在網頁打包裡面. 這樣你就不怕我的網頁歇業了 :-) eof foreach $major_name (@major_names) { print "\n

$major_name

\n\n"; @sites = grep {!/^#/ && !/^\s*$/} `cat $major_name`; chomp @sites; print "
\n選一個映射站:

選好以後就...
eof } & NaiveCGI::PrintFooter;