Perl(パール)

語句ログ

無料ブログソフト 59Tracker で面白そうなキーワードや何かの役に立ちそうなことを記録
更新情報の購読  ユーザー登録  
無料ブログソフト 59Tracker のダウンロード

Perl(パール)

Perl(パール)とは、Larry Wall氏によって開発された、テキストの検索や抽出やレポート作成に適した、C言語に似た表記法のスクリプトプログラミング言語で、テキスト処理に優れていることから、CGIとしてWebアプリケーションの作成に使用されることが多い。

Perlに関する主なサイト

Japanized Perl Resources Project
Perlの日本語リソースの収集と文書を日本語訳するプロジェクト。

CPAN.jp
perl日本語ドキュメント全文検索。

Tokyo Perl Mongers
東京地区のPerlユーザーのコミュニティー(メーリングリスト)。

Jcodeを使おう(実用本位のJcode紹介)
文字コード判別、変換のための日本語文字コード用汎用モジュール、Jcode.pmの解説。

futomi's CGI Cafe
PerlスクリプトのCGIを作成する際に役立つ情報を掲載。

ActiveState
Windows上で動作するフリーのPerlパッケージ「Active Perl」を配布しているサイト(英語)。

Perl 書籍
Perlの入門書や解説書。
[129] posted by かがひろ at 2005/05/10 06:44:08 | Comment (6) | Trackback (0) | 0 point

トピック  ブックマーク
   
キーワードperl プログラミング オープンソース CGI 

関連リンク

生みの親が語るPerlの生い立ちと今後
CNET Japanに3月29日から30日にかけて開催された「YAPC::Asia 2006」のスピーカーとして来日した、perlの生...
Perl 書籍
初めてのperlperlの各種機能や言語仕様の基礎をていねいに解説した入門書。正規表現の解説の拡充など、perl...
Perlのウェブアプリケーションフレームワーク
Ruby のウェブアプリケーションフレームワークとしては、Ruby on Rails が有名ですが、思うところがあって、...
オープンソースソフト
オープンソースソフトとは、そのソフトのプログラムが一般に公開されているソフトウェアのことで、利用者はプログラムを自由にコピーしたり、...
CGI
CGIとはCommon Gateway Interface の略で、Webサーバーがプログラムを起動する方法(環境変数の名前や値)を定めた仕様。
Linux
Linux(リナックス)とは、フィンランド人のリーナス・トーパルズ氏によって開発された、自由に改変や再配布が可能なオープンソースのUnix...
FreeBSD
BSDライセンスというライセンス体系に基づいて公開されている、UNIXに似たオープンソースのオペレーティングシステム...
PostgreSQL
PostgreSQLとは、オープンソースの本格的なRDBMSで、問い合わせ言語としてSQLが使えるほか、トランザクション、行レベルロック、副問い合わせなど...
Apache
Apache(アパッチ)とは、世界一のシェアを誇るオープンソースのWebサーバ用ソフトウェア。NCSAにソフトウェアパッチ...
PHP
PHPとは、プログラム言語の一種で、HTMLファイル内に記述することで、サーバーサイドで動作するWEBアプリケーションを効率的に開発できる...
Active Perl に Jcode.pm をインストールする方法
Windows にインストールしたActive perlにJcode.pmをインストールする方法も基本的にはUNIX環境へのインスト...
かなとローマ字をシンプルに相互変換するPerlモジュール
パールモンガーにしてアルファブロガーのダン・コガイ氏が、かなとローマ字をシンプルに相互変換するperlモ...
テキスト中のキーワードをリンクするPerlサンプルスクリプト
任意のキーワードリストに含まれるテキスト中のキーワードに、特定のページ(URL)にリンクするperlのサンプル...

Perl(パール)へのトラックバック

トラックバックURL:

Perl(パール)へのコメント

1 posted by nisi at 2005/04/09 09:14:59
現在 メール送信はできるのですが、subject が表示できず、困っています。
多分、mimewでエンコードすべきだと思い
このように作成しましたが、だめです。


$$$$$$$$$$$$$$$$$$$$$$$

#!/usr/bin/perl

#setting
use CGI qw(:standard);
require 'jcode.pl';
require 'mimew.pl';
#####これがないと引数が渡りません。
if ($ENV{'REQUEST_METHOD'} eq "POST"){
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}else{
$buffer = $ENV{'QUERY_STRING'};
}
foreach(split(/&/, $buffer)){
($name, $value) = split(/=/, $_);
$value =~ tr/+/ /;
$value =~ s/%(..)/pack("C",hex($1))/eg;
&jcode'convert(*value,'euc');
$param{$name} = $value;
}

#フォームデータを得る

$log_ipanname = $param{'log_ipanname'};
$log_ipanzip = $param{'log_ipanzip'};
$log_ipanaddress = $param{'log_ipanaddress'};
$log_ipanaddress2 = $param{'log_ipanaddress2'};
$log_ipantel = $param{'log_ipantel'};
$log_ipanemail = $param{'log_ipanemail'};
$flagipan = $param{'flagipan'};
$flagsansei = $param{'flagsansei'};
$sougoukei = $param{'sougoukei'};



####################################################################
#一般客あてメール
$name = $name;

###かごの中身も提示したい
#一般客用メールの件名
$subject_a = 'ショッピングサイトのご注文確認';


$address = $log_ipanemail;
$body1 = $log_ipanzip;
$body2 = $log_ipanaddress;
$body3 = $log_ipanaddress2;
$body4 = $log_ipantel;
$body5 = $sougoukei;
$body6 = $**ipanemail;
$body7 = '****@s***.ocn.ne.jp';



#一般客送信先メールアドレス
$toaddr = "$body6 ";
$fromaddr = "$body7";
#一般客用 文字変換
#process before send
$mailName = jcode::jis($name);
$mailBody1 = jcode::jis($body1);
$mailBody2 = jcode::jis($body2);
$mailBody3 = jcode::jis($body3);
$mailBody4 = jcode::jis($body4);
$mailBody5 = jcode::jis($body5);
$mailBody6 = jcode::jis($body6);
$mailBody7 = jcode::jis($body7);

$encodedSubject_a = &mimeencode($Subject_a);

#一般客用 送信メール作成
open(MAIL,"| /usr/sbin/sendmail -t -f $toaddr ");
print MAIL "To: $mailBody6\n";
print MAIL "From: $mailBody7\n";
print MAIL "encodedSubject_a: $encodedSubject_a\n";
print MAIL "Content-Type: text/plain\n\n";
print MAIL "$mailName様 ご注文内容は以下の通りです。なおこのメールに記載されているようなお買い物に心辺りのない場合は、直ちにご返信くださいますようお願い申し上げます。\n";
print MAIL "*************************************************\n";
print MAIL "配送情報とご請求金額\n";
print MAIL "*************************************************\n";
print MAIL "御名前: $mailName様\n";
print MAIL "e-mail: $mailBody6\n";
print MAIL "郵便番号:$mailBody1\n";
print MAIL "都道府県:$mailBody2\n";
print MAIL "御住所:$mailBody3\n";
print MAIL "電話番号:$mailBody4\n";
print MAIL "注文合計:$mailBody5円\n";
print MAIL "送料:一括800円 北海道、沖縄はプラス200円、離島などの追加料金は、お客様にてご負担ください\n";
print MAIL "なお注文品数が著しく多く宅急便の箱一つに収まらない場合などは追加料金をお支払いいただきます。\n";

print MAIL "*************************************************\n";
print MAIL "ご注文内容\n";
print MAIL "*************************************************\n";



print MAIL "*************************************************\n";
print MAIL "お振込み先\n";
print MAIL "*************************************************\n";
print MAIL "$mailName様、下記いずれかの方法にてお振込み下さいますようお願い申し上げます。\n";
print MAIL "入金確認後、ご注文品を発送させて頂きます。\n";
print MAIL "振込み先: ****銀行京都支店(当)*****口座名 *****\n";
print MAIL "振込み先: 郵便振替(郵便局)****-*-****** 口座名 *****\n";
close(MAIL);





################################################################
#管理人用メール


###かごの中身も提示したい
$subject_b= '店主宛発注確認メールです。';


$fromaddr = "$body6";
$toaddr ="$body7";

#一般客用 文字変換
#process before send

$encodedSubject_b = &mimeencode($Subject_b);

open(MAIL,"| /usr/sbin/sendmail -t -f $toaddr ");
print MAIL "To: $mailBody7\n";
print MAIL "from: $mailBody6\n";
print MAIL "encodedSubject_b: $encodedSubject_b\n";
print MAIL "Content-Type: text/plain\n\n";
print MAIL "$mailName(お客様)が発注されました。ご注文内容は以下の通りです確認をお願いします。\n";
print MAIL "*************************************************\n";
print MAIL "配送情報とご請求金額\n";
print MAIL "*************************************************\n";
print MAIL "御名前: $mailName様\n";
print MAIL "e-mail: $mailBody6\n";
print MAIL "郵便番号:$mailBody1\n";
print MAIL "都道府県:$mailBody2\n";
print MAIL "御住所:$mailBody3\n";
print MAIL "電話番号:$mailBody4\n";
print MAIL "注文合計:$mailBody5円\n";
print MAIL " $toaddr:toaddr送料:次のようにお客様に告知済み 一般の場合 送料を確認してください。一括800円 北海道、沖縄はプラス200円、離島などの追加料金は、お客様にてご負担ください\n";
print MAIL "なお注文品数が著しく多く宅急便の箱一つに収まらない場合などは追加料金をお支払いいただきます。\n";
print MAIL "送料:次のようにお客様に告知済み 三清会会員の場合 送料を確認してください。一括800円 北海道、沖縄はプラス200円、離島などの追加料金は、お客様にてご負担ください\n";
print MAIL "なお注文品数が著しく多く宅急便の箱一つに収まらない場合などは追加料金をお支払いいただきます。\n";

print MAIL "*************************************************\n";
print MAIL "ご注文内容\n";
print MAIL "*************************************************\n";

print MAIL "*************************************************\n";
print MAIL "お振込み先\n";
print MAIL "*************************************************\n";
print MAIL "次のようにお客様に告知済み 会員の場合$mailName様、下記いずれかの口座にお振込み下さいますようお願い申し上げます。\n";
print MAIL "又はお荷物の中に郵便振替用紙を入れさせて頂きます。お振込み下さい。\n";
print MAIL "振込み先: *******支店(当)**** 口座名 ***\n";
print MAIL "振込み先: 郵便振替(郵便局)**-*-*** 口座名 *****\n";
print MAIL "次のようにお客様に告知済み 一般客の場合$mailName様、下記いずれかの方法にてお振込み下さいますようお願い申し上げます。\n";
print MAIL "入金確認後、ご注文品を発送させて頂きます。\n";
print MAIL "振込み先: ***銀行***支店(当)**** 口座名 ****\n";
print MAIL "振込み先: 郵便振替(郵便局)***-*-**** 口座名 *****\n";
close(MAIL);



##display web上に表示
$limit = &get_expire(-1);
print<<EOF;
Set-Cookie: cookieokaimono=""; expires=$limit;
EOF
print"Content-type: text/html\n\n";
print"<html>\n";
print"<title>sendresult on the web</title>\n";
print"<body><table align=\"center\" width=\"400\" height=\"500\"><tr><td>\n";
print"<table border=\"3\" width=\"400\"><tr><td colspan=\"2\">お買い上げ有難うございました。<br>お買い物内容の確認のメールを送信致しました。<br>
30秒ほどで着信しない場合はメールアドレスの誤りが考えられます。<br>
もう一度メールアドレスの再記入をお願い致します。<br>
ブラウザの戻るで戻って下さい。<br></td></tr><tr><td width=\"200\" valign=\"bottom\"><form action=\"./index.CGI\" method=\"get\">
<font color=\"#800080\"><b><input type=\"submit\" value=\"topに戻る\"></form></td><td width=\"200\" valign=\"bottom\"><form action=\"http://www.****.com\" method=\"get\"><font color=\"#800080\"><b><input type=\"submit\" value=\"***HP\"></form></td></tr>\n"; <br></td></tr></table>\n";


print"</body></html>";
exit;


################################################################


##################################################################

########################################################################
sub get_expire{
local($days_later) = $_[0];
($sec,$min,$hour,$mday,$mon,$year,$wday) = gmtime(time + int($days_later*60*60*24));
$mon = ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")[$mon];
$wday = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')[$wday];
return sprintf("%s, %02d-%s-%04d %02d:%02d:%02d GMT",$wday,$mday,$mon,$year+1900,$hour,$min,$sec);
}

2 posted by kagahiro at 2005/04/10 14:56:25
$subject_a = 'ショッピングサイトのご注文確認';
ここと

$encodedSubject_a = &mimeencode($Subject_a);
ここの変数名が違ってるのが原因だと思います。

$subject_b も同様です。
3 posted by nis at 2005/04/10 20:35:37
確かに
変数がちがっているとは、どういう意味なのか
わたしには解かりません。
ご教示下さい。
4 posted by kagahiro at 2005/04/10 21:52:25
変数名の大文字と小文字は区別されるので、$subject_aと$Subject_aは別の変数として扱われます。
なので、$Subject_aにはなにも値が入ってない状態になり、subject が表示されないのだと思います。

$encodedSubject_a = &mimeencode($Subject_a);

$encodedSubject_a = &mimeencode($subject_a);
に修正すればいいと思います。
5 posted by Nisi at 2005/04/11 15:37:02
ありがとうございました。思いこみとはおそらしい物です。
当該部分を訂正いたしました。
サブジェクトが文字化けをおこし
やはり、件名は、表示されません。
これはプログラムを初めから直すべきかと
途方にくれてしまいます。
JCODEで変換しているので、日本語は、変換されているはずが、メール上の本文枠に奇妙な文字の羅列としてFrom: ****@***.o**.**.jp
Subject: =?ISO-2022-JP?B?GyRCPi5Abk4uJTclZyVDJVQlcyUwJTUlJCVIJE4kNENtSjgzTkcnGyhC?=
Content-Type: text/plain
などと表示されてしまします。

できれば、ご教示ください。

もしかきなおすとすれば、 加賀様のように変数に、日本語のmessage部分を一括でいれて、変換をおこなう。というやり方でやろうと思います。
6 posted by コメンテーター at 2005/04/18 13:29:08
いろいろ有難うございます。結局 変数をその場で変換していく方法で書き直しました。でも件名だけは表示されずじまいでした。結局、fromを一番下にいれると表示できました。でもなぜそうなのかは私にはわかりませんでした。
ありがとうございました。

名前:

メールアドレス:

ホームページURL:


おすすめ  (チェックしてコメントすると新着情報に掲載)
コメント:

FXチャット
Powered by 株とFXの掲示板

新着トピック

Perl/CGI、PHPのWebアプリ、C/C++のプログラム作成承ります
暇つぶしのコンテンツで有料化は無理ではないかと
MetaTrader 4(MT4)
「ものづくりに回帰」とか言われてもなー
円高ドル安
FX初心者におすすめのFX業者
SE/プログラマなどのIT転職、求人情報リンク集
[FX]ロングポジション、ショートポジションとは
親指操作の有線トラックボール「Logicool ST-65UPi TrackMan Wheel」
マウスコンピューター、3万9,800円のAtom搭載超小型デスクトップPC「LM-M100S」
容量3GBで独自ドメインが利用可能な有料ブログ「JUGEM PLUS」
無料ホームページサービス「デジデジ」
アクセス解析やSEO対策、集客などに使える無料ブログパーツ
ブログでできるおすすめの無料アフィ
携帯フルブラウザ「jigブラウザ」

<< 2005年05月
1234567
8 9 101112 13 14
15161718192021
22232425262728
293031

あわせて読みたいブログパーツ

過去ログ
2006/12
2005/10
2005/09
2005/05
2005/04
2005/03
2005/02
2004/12
Skype  ブログ  アフィリエイト  Java  GPL  レンタルサーバー  オープンソース  Mozilla  ブラウザ  SNS  ソフトバンク  Oracle  Linux  データベース  SQL  仕事  パソコン  Mac  メディア  プログラミング  コンピュータ  女性歌手  音楽  ダウンロード  インターネット    検索  SEO  ゲーム  2ch  掲示板  CGM  ソフトウェア  派遣  転職  IT  キーボード  コメント  文字  RSS  フィード  ニュース  YouTube  Web  開発  ブックマーク  はてな  Google  広告  AdSense  Firefox  プログラム  Windows  Vista  マイクロソフト  UNIX  オフィス  Ruby  PHP  書籍  ジャーナリズム  スターウォーズ  ライブドア  事件  マーケティング  アルファブロガー  動画  キーワード  アクセス解析  perl  MySQL  テレビ  携帯電話  NHK  Amazon  インサイダー  CGI  iPod  リンク集  経営  金融  ネットワーク  ビジネス  サービス  インストール  API  映画  投資  株式  MMORPG  最適化  Yahoo  サーバー  求人  ようつべ  Wiki  Wikipedia  無料  日本  政治  匿名  59bbs  ファンド  エンジニア  OS  ムーバブルタイプ  言語  ホームページ  格安    JavaScript  メール  ニコニコ  プロジェクト  マネジメント  オンライン  電通  食べ物  為替  情報操作  プロパガンダ  iPhone  アップル  システム  フリー  プログラマ  おすすめ  値段  ドメイン 

新着トラックバック

アメリカ、ゼロ金利政策でドル急落
[FX]両建のメリットとデメリット
掲示板リンク集(2ch等の掲示板、掲示板検索、画像掲示板)
掲示板リンク集(2ch等の掲示板、掲示板検索、画像掲示板)

新着コメント

円高ドル安
円高ドル安
リネージュII(珠羽)
円高ドル安
円高ドル安
FX(外国為替証拠金取引)とは(株式会社NEXTONE)
MetaTrader 4(MT4)
おすすめの無料ブログサービスとは(あ)
SE/プログラマなどのIT転職、求人情報リンク集(株式会社アイステージ)

Copyright (C) 2004-2008 Kaga, Hiroaki  連絡先   ブログフリーソフト 59Tracker
無料掲示板 59bbs.org   ソーシャルブックマーク b-listers   ブックマーク検索 ネタリスト