CGI
- ポイント
- :standardすると関数ベースになる。
- デバッグ用にエラーを表示するには fatalsToBrowser
- ファイルを転送するには enctype="multipart/form-data
#!/usr/bin/perl use strict; use warnings; use CGI qw/ :standard /; use CGI::Carp qw(fatalsToBrowser); use File::Basename; my %q; my $query = CGI->new; foreach my $key ($query->param()) { my $val = $query->param($key); $q{$key} = $val; } my $script = basename $0; print <<"EOF"; Content-Type: text/html; chaset=utf-8 <meta http-equiv="Content-Language" content="ja" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <form action="$script" id="form_1" method="post" enctype="multipart/form-data" /> <input type="text" name="text1" id="text1" value="text1value"><br> <input type="file" name="file1" id="file1" value="file1"><br> <input type="submit"><br> </form> EOF foreach my $key (keys %q) { print "key=$key val=$q{$key}<br>\n"; my $fh = upload($key); if ($fh) { print "sendfile!<br>"; } } my $fh = $query->upload('file1'); if ($fh) { print "file is!\n"; } exit 0;