#!/usr/bin/perl # 17 may 00 # used at dharma.school.net.th/cgi-bin/ use CGI qw/:standard/; use CGI::Carp qw(fatalsToBrowser); $word = param ('word'); $start_book = param ('start_book') || 1; $start_byte = param ('start_byte') || 0; $MAX_RECORD = 80; $OLD_FORM = start_form()."ข้อความที่ต้องการค้นหา".textfield('word').submit('search').end_form(); # #body {font-family: Cordia New} $HTML_HEAD = <<__END_HTML_HEAD__; ค้นพระไตรปิฎก: ลานธรรมเสวนา

ลานธรรมเสวนา

$OLD_FORM

ผลการค้นหา "$word"

__END_HTML_HEAD__ $HTML_TAIL = <<__END_HTML_TAIL__;
Click Here!
__END_HTML_TAIL__ @book_label = split /\n/,q( พระไตรปิฎกเล่มที่ ๑ วินัยปิฎกที่ ๑ มหาวิภังค์ ปฐมภาค พระไตรปิฎกเล่มที่ ๒ วินัยปิฎกที่ ๒ มหาวิภังค์ ทุติยภาค พระไตรปิฎกเล่มที่ ๓ วินัยปิฎกที่ ๓ ภิกขุนีวิภังค์ พระไตรปิฎกเล่มที่ ๔ วินัยปิฎกที่ ๔ มหาวรรค ภาค ๑ พระไตรปิฎกเล่มที่ ๕ วินัยปิฎกที่ ๕ มหาวรรค ภาค ๒ พระไตรปิฎกเล่มที่ ๖ วินัยปิฎกที่ ๖ จุลวรรค ภาค ๑ พระไตรปิฎกเล่มที่ ๗ วินัยปิฎกที่ ๗ จุลวรรค ภาค ๒ พระไตรปิฎกเล่มที่ ๘ วินัยปิฎกที่ ๘ ปริวาร พระไตรปิฎกเล่มที่ ๙ สุตตันตปิฎกที่ ๑ ทีฆนิกาย สีลขันธวรรค พระไตรปิฎกเล่มที่ ๑๐ สุตตันตปิฎกที่ ๒ ทีฆนิกาย มหาวรรค พระไตรปิฎกเล่มที่ ๑๑ สุตตันตปิฎกที่ ๓ ทีฆนิกาย ปาฏิกวรรค พระไตรปิฎกเล่มที่ ๑๒ สุตตันตปิฎกที่ ๔ มัชฌิมนิกาย มูลปัณณาสก์ พระไตรปิฎกเล่มที่ ๑๓ สุตตันตปิฎกที่ ๕ มัชฌิมนิกาย มัชฌิมปัณณาสก์ พระไตรปิฎกเล่มที่ ๑๔ สุตตันตปิฎกที่ ๖ มัชฌิมนิกาย อุปริปัณณาสก์ พระไตรปิฎกเล่มที่ ๑๕ สุตตันตปิฎกที่ ๗ สังยุตตนิกาย สคาถวรรค พระไตรปิฎกเล่มที่ ๑๖ สุตตันตปิฎกที่ ๘ สังยุตตนิกาย นิทานวรรค พระไตรปิฎกเล่มที่ ๑๗ สุตตันตปิฎกที่ ๙ สังยุตตนิกาย ขันธวารวรรค พระไตรปิฎกเล่มที่ ๑๘ สุตตันตปิฎกที่ ๑๐ สังยุตตนิกาย สฬายตนวรรค พระไตรปิฎกเล่มที่ ๑๙ สุตตันตปิฎกที่ ๑๑ สังยุตตนิกาย มหาวารวรรค พระไตรปิฎกเล่มที่ ๒๐ สุตตันตปิฎกที่ ๑๒ อังคุตตรนิกาย เอก-ทุก-ติกนิบาต พระไตรปิฎกเล่มที่ ๒๑ สุตตันตปิฎกที่ ๑๓ อังคุตตรนิกาย จตุกกนิบาต พระไตรปิฎกเล่มที่ ๒๒ สุตตันตปิฎกที่ ๑๔ อังคุตตรนิกาย ปัญจก-ฉักกนิบาต พระไตรปิฎกเล่มที่ ๒๓ สุตตันตปิฎกที่ ๑๕ อังคุตตรนิกาย สัตตก-อัฏฐก-นวกนิบาต พระไตรปิฎกเล่มที่ ๒๔ สุตตันตปิฎกที่ ๑๖ อังคุตตรนิกาย ทสก-เอกาทสกนิบาต พระไตรปิฎกเล่มที่ ๒๕ สุตตันตปิฎกที่ ๑๗ ขุททกนิกาย ขุททกปาฐ-ธรรมบท-อุทาน พระไตรปิฎกเล่มที่ ๒๖ สุตตันตปิฎกที่ ๑๘ ขุททกนิกาย วิมาน-เปตวัตถุ เถร-เถรีคาถา พระไตรปิฎกเล่มที่ ๒๗ สุตตันตปิฎกที่ ๑๙ ขุททกนิกาย ชาดก ภาค ๑ พระไตรปิฎกเล่มที่ ๒๘ สุตตันตปิฎกที่ ๒๐ ขุททกนิกาย ชาดก ภาค ๒ พระไตรปิฎกเล่มที่ ๒๙ สุตตันตปิฎกที่ ๒๑ ขุททกนิกาย มหานิทเทส พระไตรปิฎกเล่มที่ ๓๐ สุตตันตปิฎกที่ ๒๒ ขุททกนิกาย จูฬนิทเทส พระไตรปิฎกเล่มที่ ๓๑ สุตตันตปิฎกที่ ๒๓ ขุททกนิกาย ปฏิสัมภิทามรรค พระไตรปิฎกเล่มที่ ๓๒ สุตตันตปิฎกที่ ๒๔ ขุททกนิกาย อปทาน ภาค ๑ พระไตรปิฎกเล่มที่ ๓๓ สุตตันตปิฎกที่ ๒๕ ขุททกนิกาย อปทาน ภาค ๒ พระไตรปิฎกเล่มที่ ๓๔ อภิธรรมปิฎกที่ ๑ ธรรมสังคณีปกรณ์ พระไตรปิฎกเล่มที่ ๓๕ อภิธรรมปิฎกที่ ๒ วิภังคปกรณ์ พระไตรปิฎกเล่มที่ ๓๖ อภิธรรมปิฎกที่ ๓ ธาตุกถา-ปุคคลปัญญัติปกรณ์ พระไตรปิฎกเล่มที่ ๓๗ อภิธรรมปิฎกที่ ๔ กถาวัตถุปกรณ์ พระไตรปิฎกเล่มที่ ๓๘ อภิธรรมปิฎกที่ ๕ ยมกปกรณ์ ภาค ๑ พระไตรปิฎกเล่มที่ ๓๙ อภิธรรมปิฎกที่ ๖ ยมกปกรณ์ ภาค ๒ พระไตรปิฎกเล่มที่ ๔๐ อภิธรรมปิฎกที่ ๗ มหาปัฎฐานปกรณ์ ภาค ๑ พระไตรปิฎกเล่มที่ ๔๑ อภิธรรมปิฎกที่ ๘ มหาปัฎฐานปกรณ์ ภาค ๒ พระไตรปิฎกเล่มที่ ๔๒ อภิธรรมปิฎกที่ ๙ มหาปัฎฐานปกรณ์ ภาค ๓ พระไตรปิฎกเล่มที่ ๔๓ อภิธรรมปิฎกที่ ๑๐ มหาปัฎฐานปกรณ์ ภาค ๔ พระไตรปิฎกเล่มที่ ๔๔ อภิธรรมปิฎกที่ ๑๑ มหาปัฎฐานปกรณ์ ภาค ๕ พระไตรปิฎกเล่มที่ ๔๕ อภิธรรมปิฎกที่ ๑๒ มหาปัฎฐานปกรณ์ ภาค ๖ ); #---------------------------------------------------เริ่มตัวโปรแกรม print header(); print $HTML_HEAD; $count = 0; foreach $book ('01'..'45') { next if ($book<$start_book); $buffer = ""; open ( FILE, "../tipitaka/sutra/tipitaka$book.txt") or die "can't open $book.txt: $!"; seek(FILE, $start_byte, 0); while () { chomp; next unless /$word/o; $pos = tell(FILE) -1 - length; s/^( {13,}.*)/$1<\/b>/; s/ /\240/g; s/($word)/$1<\/font>/og; $buffer .= "
$_
\n"; last if (++$count>$MAX_RECORD); } if ($buffer){ print "
$book_label[$book]
\n "; print $buffer; } if ($count>$MAX_RECORD){ print start_form().hidden('word'); print ""; print ""; print submit("Show Next 80").end_form() ; last; } # last if (time()-$^T>30); } print "
ค้นหาใช้เวลา ", (time()-$^T), " วินาที\n"; print $HTML_TAIL;