持っておくと何かと便利
Perl BBS

2000年05月12日(金) ファイルのアップロード

ここを押して

ここまでの、簡単なまとめ。我流なんで、強引か?
2000年04月09日(日)


1999年11月18日(木) アップロードBBS2

結果 ここを押して

multipart\/form-dataで、各データ−の取り出し方をどうやるのか?
その2です


1999年11月17日(水) アップロードBBS

結果 ここを押して

やっと、考えつきました。


1999年11月15日(月) 画像の出力表示?

結果 ここを押して

ランダム画像、日替わり画像などを、HTMLファイルに出力する。


1999年11月15日(月) ファイル・アップロードの動作解析1

結果 ここを押して

W氏の「ファイル・アップロード」でお勉強


1999年11月03日(水) ファイルをアップロード

結果 ここを押して

簡単にしたつもり。


1999年09月24日(金) ファイルを作るBBS

結果 ここを押して

新しいタイトル記事で、ページを増やすBBSです。
よくあるBBSです。
こればっかり。


1999年09月06日(月) BBS

結果
ここを押して

warewan_bbs01.cgi

こればっかり。


1999年09月06日(月) HTMLテンプレート (ファイル分割)

結果 ここを押して

CGIプログラムを

 表示用 「テンプレート.htm」 と 制御用 「PERL.cgi」に分割


1999年08月07日(土) LOG.cgi

結果

ここを押して

LOG.cgi


1999年07月28日(水) 掲示板(ページ表示A)

結果 ここを押して

自動追加型(年,月が変われば,ページも増える)


1999年07月28日(水) 掲示板(ページ表示@)

結果 ここを押して

自動追加型(記事数が増えれば,ページも増える)


1999年07月21日(水) 掲示板(ワード検索B)

結果 ここを押して

選択リスト を追加


1999年07月21日(水) 掲示板(ワード検索A)

結果 ここを押して

and , or  検索 を追加


1999年07月19日(月) 掲示板(ワード検索@)

結果 ここを押して

index と 正規表現 で 検索と文字表示


1999年07月15日(木) 掲示板(テスト表示の方法@)warewan_bbs

結果 ここを押して

完全版ではありません!

テスト表示ひとつの方法を考えてみましたが・・・・。



1999年07月11日(日) クッキー[2]

結果  ここを押して

[保存する内容]
   @名前 (name)
   Aemailのアドレス (email)
   Bパスワード (passwd)
   C訪問回数 (count)


1999年07月08日(木) クッキー[1]

結果  ここを押して

[その1] クッキーとは?
[その2] クッキーで何ができるか?
[その3] クッキーの内容 
[その4] クッキーの書き込み
[その5] クッキーの読み込み・書き込みの実際
[その6] クッキーファイルの場所と内容 
[その7] クッキーの消去


1999年07月06日(火) warewan_bbs.cgi

結果 ここを押して

warewan_bbsです。タグ練習CGIの本番編として、作りました。


1999年07月01日(木) rspaceshipと、 cmp

結果 ここを押して

<=>と、cmpで、sortです。


1999年06月28日(月) タグ練習CGI

結果 ここを押して

タグ練習CGI


1999年06月27日(日) 正規表現[2]

結果  ここを押して

[その1] 位置指定         ( ^, \A, $, \Z ,\b, \B )
[その2] 量指定子         ( {n,m} ,  {n,},  {n}  )
[その3] 修飾子           ( g, o, i, m, s, x )
[その4] 正規表現に関する特殊変数
[その5] 使われる変換 


1999年06月24日(木) subroutine

結果 ここを押して

subroutine使い方1


1999年06月23日(水) regular exrression U

結果 ここを押して

regular exrression 確かめCGI改


1999年06月21日(月) 確かめ

結果 ここを押して

regular exrression try cgi


1999年06月20日(日) 正規表現[1]

結果  ここを押して

[その1] 数個の文字にマッチ ( +,*,.,  )
[その2] 文字クラス 1     ( [    ]  )
[その3] 文字クラス 2     (略記法 )
[その4] グループ化 


1999年06月14日(月) ファイル関連(その他の操作)

結果  ここを押して

[その1] ファイル情報の取得 ( 関数 stat  )
[その2] 更新時間の変更   ( 関数 utime )
[その3] ファイル名の取得   ( 関数 glob )           注:perl5
[その4] ファイルをテスト    ( 演算子 −e,−M,−A )
[その5] 更新情報一覧    ( 応用 )


1999年06月13日(日) ファイルへの書き込み

結果  ここを押して

[その1] 1行書き込み(上書きモード)
[その2] 1行追加書き込み(追加モード)
[その3] 配列追加書き込み(追加モード)
[その4] ファイルをロックする(関数 flock)


1999年06月11日(金) m

結果 ここを押して

正規表現


1999年06月09日(水) ファイルからの読み込み

結果  ここを押して

[その1] 1行だけ読み出す
[その2] 2行だけ読み出す
[その3] 全行すべて読み出す
[その4] 配列を使って読み出す
[その5] ファイル名ミス@ (エラー処理)
[その6] ファイル名ミスA (エラー処理)


1999年06月08日(火) if

結果 ここを押して

if ? && || などです。


1999年06月08日(火) while

結果 ここを押して

while last などです。


1999年06月05日(土) open2

結果 ここを押して

上書き、追加書きこみ


1999年06月04日(金) 落書き帳のデータ構造

結果  ここを押して

ファイルとして読み書きする「rakugaki.txt」のデータ構造


1999年05月30日(日) open1

結果 ここを押して
ファイルハンドル

open(WAREWAN,"warewan.txt")


1999年05月29日(土) chop

結果 ここを押して

スカラー、配列、連想配列での、chop


1999年05月29日(土) autoin(de)crement

結果 ここを押して
インクリメント演算子、デクリメント演算子


1999年05月28日(金) quouted_print

結果 ここを押して
シングル、ダブルクォ−トと、print()演算子


1999年05月25日(火) split_join_sub

結果 ここを押して

$A = ('1a2a3a4a5a6a');
@A = split(/a/,$A);
@AA = join('b',@A);
#----------------------------------------
($sec,$min,$hour) = localtime(time);
$hour = sprintf("%02d", $hour);

if ($hour <= '03'){&yoru;}
else {&igai;}


1999年05月24日(月) 配列の編集

結果  ここを押して

[pop] [push] [reverse] [shift] [unshift] [reverse] [splice]


1999年05月24日(月) ハッシュの編集

結果  ここを押して

[keys] [values] [each] [delete]


1999年05月24日(月) スカラー・配列・ハッシュ

結果  ここを押して

スカラー・配列・ハッシュの構造の違い


1999年05月22日(土) array

結果 ここを押して
配列


1999年05月21日(金) keys_values_each_delete

結果 ここを押して
続編です。


1999年05月20日(木) barney

結果 ここを押して
$a = 'WAREWAN';
$b = 'JOHN';
$c = '関東';
$d = '九州';

@list= ('WAREWAN','関東','JOHN','九州');

%barney = @list;


1999年05月20日(木) パターンマッチングとデータ変換

結果  ここを押して

 フォーム(POST/GET)で送ったデータを整形する

$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

など・・・・。


1999年05月18日(火) tr&s

結果 ここを押して

$_ = "warewan1123 and JOHN1123";
$B = tr/a-z/A-Z/;
$C = s/1/2/;


1999年05月15日(土) WAREWAN_CGI_01

ここを押して

復習です。


1999年05月15日(土) 繰り返し制御 (解説版)

結果 1〜10の足し算  ここを押して

foreach $kazu (1..10) {
  
  $No ++;                           
  
  $gokei[$No] = $gokei[$No-1] + $kazu;   
  
  $NIKETA[$No] = sprintf("%02d",$No);  
}

print "Content-type: text/html\n\n";
print <<__HTML__;

で表示するため 配列を使用 !


1999年05月14日(金) 繰り返し制御 (foreach)

結果 配列からの取り出し  : ここを押して
結果 1〜10の足し算    : ここを押して

foreach $kazu (1..10) {
 $No ++;
 $gokei =$gokei+$kazu;
 $NIKETA = sprintf("%02d", $No);
 print "$NIKETA","回目 :","$gokei","<BR>";
}
   


1999年05月13日(木) Hello!CGI (foreach)

結果 ここを押して

if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'});
} else { $formdata = $ENV{'QUERY_STRING'}; }

@pairs = split(/&/,$QUERY_DATA);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$FORM{$name} = $value;
}
if ($FORM{'name'} eq "John") {$a=('Hello,John! How good of you to be here!');}
else {$b=('Hello! ');}


1999年05月12日(水) splitで配列変数に代入

結果 配列変数に直接代入  : ここを押して
結果 splitで配列変数に変換 : ここを押して

スカラー変数 : $bandname = "BEATLES";
スカラー変数 : $members = "John&Paul&George&Ringo";

split で メンバーをバラバラに$members_s[0]〜[3]に代入!

配列変数   : @members_s = split(/&/,$members);


1999年05月11日(火) Hello

結果 ここを押して

if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'});
} else { $formdata = $ENV{'QUERY_STRING'}; }

@pairs = split(/&/,$QUERY_DATA);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
}
if ($value eq "John") {$a=('Hello,John! How good of you to be here!');}
else {$b=('Hello! ');}


1999年05月10日(月) split

結果 ここを押して

if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'});
} else { $formdata = $ENV{'QUERY_STRING'}; }

@pairs = split(/&/,$QUERY_DATA);
@pairs2 = split(/&/,$formdata);


1999年05月09日(日) form3 "hidden"と"password"

結果   ここを押して

"hidden"  : 隠れたパラメータ,このSELECTの値で処理を選択
パスワードの認証 <INPUT type="hidden" name="SELECT" value="check">
パスワードの登録 <INPUT type="hidden" name="SELECT" value="input">

"password": 入力文字を ****にする


1999年05月09日(日) form2

結果
ここを押して

if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'});
} else { $formdata = $ENV{'QUERY_STRING'}; }


1999年05月08日(土) POST/GETでデータ取得

結果1 テキストボックス  (POST1) ここを押して
結果2 ラジオボタン    (POST2) ここを押して
結果3 アンカータグ    (GET)   ここを押して


1999年05月07日(金) form

結果
ここを押して

if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'});
} else { $formdata = $ENV{'QUERY_STRING'}; }


1999年05月06日(木) sprintf

結果
ここを押して

($sec,$min,$hour,$day,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year += 1900;
$mon = sprintf("%02d", $mon + 1);
$day = sprintf("%02d", $day);
$hour = sprintf("%02d", $hour);
$min = sprintf("%02d", $min);
$date_now = "$year年$mon月$day日 $hour時$min分";


1999年05月03日(月) 日付と時刻の取得

結果 ここを押して

($sec, $min, $hour, $mday, $mon, $year) = localtime(time);

$year += 1900;
$mon += 1;


1999年05月03日(月) PerlでHTML[2]

結果 ここを押して

print "Content-type: text/html\n\n";

print <<"__HTML__";


UP-BEAT [2]


__HTML__


1999年05月03日(月) PerlでHTML[1]

結果 ここを押して

print "Content-type: text/html\n\n";

print "\n";
print "UP-BEAT [1]\n";
print "\n";


 



WhatsNew by Terra