Perlコーディング初心者質問スレ Part 44
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/10/17(月) 00:47:17ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
過去ログやお勧めサイトは >>2-10
0154nobodyさん
2005/10/22(土) 16:14:10ID:m3HcshJv#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
sub errexit { print "\n", @_; exit; }
require "cgi-lib.pl";
require "jcode.pl";
if ($FORM{'name'} eq "") { &errexit("お名前は必ず入力してください。"); }
if(open(OFILE,">>hogehoge.log")) {
$record .= $in{'name'}."\t";
print OFILE $record;
close(OFILE);
#フォームの表示
print "Content-type: text/html\n\n";
print qq!
<HTML>
<HEAD>
0155nobodyさん
2005/10/22(土) 16:17:36ID:JX8EwRu8「AAA AAAA」と「BBBBBBB」というデータを保存する際にスペースで区切ったために
「AAA\ AAAA BBBBBBB」のようにデータ上のスペースの前には\を置いて保存されています、
またデータ上の\は\\で保存されています。
これを読み出すための簡約化された手順がありましたら教えてください。
とりあえずデータ上で9文字目が区切りであることを検出できればいいです。
それとも、フォーマットについてもっとこうするべきだというものありましたら
いまからでも変更の余地がありますので提案お願いします。
0156nobodyさん
2005/10/22(土) 16:20:06ID:m3HcshJvif ($FORM{'name'} eq "") { &errexit("お名前は必ず入力してください。"); }
↑この行を省くと動作するのですが、空白でも post してしまいますので。
0157nobodyさん
2005/10/22(土) 16:22:39ID:???固定長なら \ でエスケープする必要ないんじゃ?
0159nobodyさん
2005/10/22(土) 16:34:17ID:m3HcshJv<HTML>以下のフォームにて取得してます。
<FORM ACTION="hogehoge1.cgi" METHOD="post" name="FORM" id="FORM">
<td colspan="2" nowrap><font size="3">ご氏名</font></td>
<td height="25"><input type="text" name="name" style="ime-mode: auto;" size="30">
</td> </tr>
0161nobodyさん
2005/10/22(土) 16:41:24ID:m3HcshJvFORM ACTION で name に入力された文字が代入されて
$record .= $in{'name'}."\t";
のところで タブ入りで record に渡されて
hogehoge.log ファイルに書き込むのと違うのですか?
0162nobodyさん
2005/10/22(土) 16:44:35ID:JX8EwRu89文字の固定長ではありません。
サンプルに対して取得したいデータが9であるという、あくまでも例です。
やはり自分で1文字ずつ検証して作るしかないでしょうか?
0163nobodyさん
2005/10/22(土) 16:47:54ID:???えーっとだ。
>>152でHTMLから送信してもエラーが出ちゃうと言う問題だろ?
書き込むとかどうでもよい。
受け取りができてないのよ。
cgi-lib.pl使ってるみたいだから↓読んで。
http://www.futomi.com/lecture/form/cgilib.html
0165nobodyさん
2005/10/22(土) 17:05:01ID:m3HcshJv以下の感じでよろしいんでしょうか?
my %input;
&ReadParse(\%input);
$YourName = $input{'name'};
if ($FORM{'YourName'} eq "") { &errexit("お名前は必ず入力してください。"); }
0168nobodyさん
2005/10/22(土) 17:09:47ID:???違う。
my %input;
&ReadParse(\%input);
if ($input{'name'} eq "") { &errexit("お名前は必ず入力してください。"); }
--以下保存処理
あと、試してから聞きなさい。
0169nobodyさん
2005/10/22(土) 17:25:59ID:???0170nobodyさん
2005/10/22(土) 17:30:16ID:m3HcshJv入力文字があっても 以下のメッセが表示されます。(・_・、)
"お名前は必ず入力してください。"
0171nobodyさん
2005/10/22(土) 17:38:30ID:???変数に何が入ってるかわからんのなら、printしてみようね。
あと、めんどいからどっかにCGIプログラムとHTMLのソースうpしる。
0172nobodyさん
2005/10/22(土) 17:47:29ID:???0173nobodyさん
2005/10/22(土) 18:02:37ID:m3HcshJvhttp://other.free-uploader.com/up/
hoge_1.cgi です。
0175nobodyさん
2005/10/22(土) 18:14:20ID:m3HcshJvたびたび、すいません。
0123
0176nobodyさん
2005/10/22(土) 18:18:44ID:???if (!$in{'name'}) { &errexit("お名前は必ず入力してください。"); }
0177nobodyさん
2005/10/22(土) 18:19:41ID:???0178nobodyさん
2005/10/22(土) 18:27:02ID:vPMo38wNhttp://allabout.co.jp/career/cgiperl/closeup/CU20040805A/index4.htm
0180nobodyさん
2005/10/22(土) 18:36:12ID:m3HcshJvひとつを消したんですが、結果は
>>170 と同じです。 (×_×)
0181178
2005/10/22(土) 18:39:17ID:???うまくいきました
ありがとうございました
0182nobodyさん
2005/10/22(土) 18:41:13ID:???hoge.tmpl も見当たらないし。
in っていう名前の hash と input っていう名前の hash が存在してるようだけど、
タイプミスかな?意味があって別な変数名にしてるのかな?
0183nobodyさん
2005/10/22(土) 18:42:05ID:???my %input;
&ReadParse(\%input);
if ($input{'name'} eq "") { &errexit("お名前は必ず入力してください。!"); }
↓
if ($in{'name'} eq "") { &errexit("お名前は必ず入力してください。!"); }
0184nobodyさん
2005/10/22(土) 18:43:36ID:???open FILE の中だと、ファイルが開いたまま終わることになるぞ。今はいいとしても。
0185nobodyさん
2005/10/22(土) 18:46:02ID:???print qq!
ソース
!;
じゃなくてヒアドキュメントを使え。
print <<__EOT__;
ソース中に ! をひとつでも書いたらそこで終了しちゃうだろ危うすぎ。
__EOT__
0187nobodyさん
2005/10/22(土) 19:31:38ID:m3HcshJvすいません、レスが遅れまして
うまくいったと思って、 名前以外に電話番号とメールもチェックをして・・・
って やったら、
お名前は必ず入力してください。!
になりました。(・_・、)
0188nobodyさん
2005/10/22(土) 19:55:02ID:???0189nobodyさん
2005/10/22(土) 20:00:34ID:???0190nobodyさん
2005/10/22(土) 20:06:29ID:m3HcshJv結局うまく、行きません。
別ファイルでもいいので、他に良い方法ないでしょうか?
0191nobodyさん
2005/10/22(土) 20:14:21ID:???いちからべんきょうしなおす
0192nobodyさん
2005/10/22(土) 20:28:02ID:???解決いたしました。
&ReadParse;
のすぐ下ではなくて、if(open(OFILE," の前の行に
貼り付けたら、いけました。
スレ汚し、すんませんでした。 <(_ _)>
0193nobodyさん
2005/10/22(土) 20:44:35ID:???---test<DIR>----
AfIlE
bFiLe
----------------
というファイルがあるディレクトリがあるとき、
$file = "afile";
open(IN,$file);
〜〜略〜〜
というような形で、大文字小文字関係なくファイルを指定したいのですがどのような方法を使えばよいでしょうか?
0194nobodyさん
2005/10/22(土) 20:55:29ID:???0195nobodyさん
2005/10/22(土) 20:56:04ID:???open(IN,$files{'afile'});
ハッシュを使ってこんな感じとか。
0196nobodyさん
2005/10/23(日) 03:47:54ID:???ファイル名が case sensitive なシステムでは AfIlE と aFiLe が
混在可能なので、afile と指定した時にどちらを指すのか判別
できない。よって正しく AfIlE と指定するか、実際のファイル名の
方を小文字に正規化した方が余計なハマり処を減らす事ができる。
ファイル名が case insensitive なシステムでは AfIlE と afile が
同じファイルを指すので、AfIlE を open する時でも afile と指定
できる。よってプログラム側では正確なファイル名を気にせず
全部小文字で指定してもよい。
それでも尚「大文字小文字関係なくファイルを指定したい」なら、
>>195 のように実際のファイル名と正規化したファイル名の
対応表を作る事になる。
0197nobodyさん
2005/10/23(日) 11:32:59ID:???了解しました。ファイル名のシステムはよく分かっていないため、>>195さんのような方法をとることにします。
ありがとうございました。
0198nobodyさん
2005/10/23(日) 15:14:57ID:DuuvQiFdPerlでファイルを読み込む場合は open を使うと思うのですが
外部のファイルを読み込む(http経由)ときはどうすればよいですか?
例えばlinuxでいうと wget なんかは、外部ファイル(実行結果)を取得するのには最適ですよね。
perlだと 内部のindex.cgiをopenするとプログラム内容までもってきちゃいます。あたりまえですがね。
index.cgiの実行結果のみ持ってきたいので、http経由でopenできればとか思っているのですが。
wget http://www.yahoo.co.jp/
と同じようなことが出来るコマンドありませんか。
わかりにくい説明で申し訳ないんですが、要は実行結果部分のみ読み込みたいです。
ちなみにsystemコマンドでwgetという方法はなしで。
0201nobodyさん
2005/10/23(日) 16:49:13ID:???http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perlfaq9.html#How_do_I_fetch_an_HTML_file_
0202nobodyさん
2005/10/23(日) 17:54:02ID:GDjLAzvgwgetを使って、そのまま内容を得ることもできる。
0203202
2005/10/23(日) 17:57:42ID:???socketでやるとモジュール無しでもいける。ヒント↓
socket(S, 2, 1, 0);
connect(S, $name);
binmode(S);
select(S); $| = 1;
select(STDOUT); $| = 1;
print S "GET $dir HTTP/1.0\r\n";
print S "Host: $host\r\n";
print S "\r\n";
while(<S>){}
close(S);
0204nobodyさん
2005/10/24(月) 09:55:17ID:???0207nobodyさん
2005/10/24(月) 13:46:58ID:???0209nobodyさん
2005/10/24(月) 16:19:03ID:???0210mona
2005/10/24(月) 16:40:28ID:???◎ファイル構造
・main.cgi(掲示板のトップページ、フォームあり)
・confirm.cgi(書き込み内容確認)
・regist.cgi(書き込み専用 HTMLによる出力はなし)
・finish.cgi(書き込み完了ページ)
・value.pl(独自に作成した変数、サブルーチンのセット)
・jcode.pl
・cgi-lib.pl
・log.cgi(ログファイル)
�@main.cgi→ main.cgiのフォームに入力した後、送信ボタン(submit)でPOST送信
�Aconfirm.cgi→ main.cgiから$ENV{'CONTENT_LENGTH'}で値を受け取ってsplitで各変数にばらし、
[この内容で書き込みボタン]が押されたら、それをまたPOST送信でhiddenで1つずつ送信。
�Bregist.cgi→ confirmからきた値を�Aと同じように$ENV{'CONTENT_LENGTH'}で受け取って
splitでばらし、各変数に値を格納、時刻の取得、トリップ処理、フィルタリング処理(\n\r→<br>など)をした後、
ログファイルからデータを読みこんで(それまでのデータを読み込んで、すべてを上書きする形を
とっていますので・・)ログファイル書き込み。そのあと、すぐにfinish.cgiへロケーションヘッダで飛ばす。
�Cfinish.cgi→ 書き込み完了しました画面が出るので、掲示板へ戻るリンクをクリック。
�Dmain.cgi 最初の掲示板に戻ってきます。
という流れなのですが、不明な点が2つありまして、
続く
0211mona
2005/10/24(月) 16:41:31ID:???例えば、�@で改行を含む、本文を
あいうえお
かきくけこ
と、フォームに入力して送信した場合に、
confirm.cgiの内容確認で同様に
あいうえお
かきくけこ
と、改行して表示してほしいのですが、うまくいきません。confirm.cgiで画面出力する前に、&data_filter($message); などとすると
書き込むリンクのとなりへ
かきくけこ
>
などと出力されてしまうのです。そしてそれを書き込んでmain,cgiで見た結果は
無題 New!
名前: 名無し 投稿日: 2005/10/24 (月) 16:15:11
あいうえお<br
です。もちろん改行はされていませんorz
つづく
0212mona
2005/10/24(月) 16:42:35ID:???2つ目は、トリップ機能を使って
名前欄に モナー#1234と入力した場合に、 名前: モナー「。tr.t4dJfuU のように文字化けを起こしてしまうのです。
トリップ部分はきちんと10桁 表示されているので、#の部分で不具合が起きているのだとは思いますが・・。
ちなみに、mona-#1234 などと、アルファベットで入力すると、きちんとmona-◆tr.t4dJfuU のように
出力されます。でもひらがな、カタカナ、アルファベット、どの場合の入力でも
◆を◇には置換してくれません。。この機能、ちゃんと動いたんですが…(1つのCGIで入力&出力してたときは)
なので、この#の文字化け&◆→◇の処理がうまくいかない理由を、教えてくださいorz
以下、ソースです。
main.cgi
ttp://imbbs1.net4u.org/1/sr3_bbss/4874isimin/65_1.txt
confirm.cgi
ttp://imbbs1.net4u.org/1/sr3_bbss/4874isimin/66_1.txt
regist.cgi
ttp://imbbs1.net4u.org/1/sr3_bbss/4874isimin/67_1.txt
finish.cgi
ttp://imbbs1.net4u.org/1/sr3_bbss/4874isimin/68_1.txt
value.pl
ttp://imbbs1.net4u.org/1/sr3_bbss/4874isimin/69_1.txt
0215nobodyさん
2005/10/24(月) 18:31:56ID:???ソースを見たところ、日本語を扱うにあたって、注意を払っている
形跡が何も見当たらない。ここでも読んで、勉強してください。その上で
解らないことを質問するといいでしょう。
http://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html
0217nobodyさん
2005/10/24(月) 19:55:08ID:???form から post されてくるデータを、&で split するとか、
それをさらに = でsplit するという処理を自分で書いてるけど、
それをやってもらうために cgi-lib.pl を require してるんじゃないのかい?
あ、ReadParse を使ってるところもあるね。。うーん、混乱してる。w
0218nobodyさん
2005/10/24(月) 20:05:43ID:???エラーチェックも「必要なところ」だという意識の欠落を
指摘されているんだと思うよ。
LWP を使わず自前で HTTP を喋るにしても、最低でも
Socket.pm を使って定数のハードコーディングを避けるべきだろう。
それ以上は趣味の世界で人に勧めるものじゃないよ。
http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perlipc.html#Internet_TCP_Clients_and_Servers
Socket.pm すら用意されていないような環境に対応する必要は無い。
それは管理者がやってほしくなくて故意に削除してあるのだから。
>>217
>>55
0219nobodyさん
2005/10/24(月) 20:32:46ID:???0220nobodyさん
2005/10/24(月) 21:37:24ID:t9lvkN6wダイス機能のついてるCGIとして
KENTWEBさんのPONNY CHATを再配布されてるサイトさんから
DLさせてもらって、ちょっとチャットを作りたいのですが
↓スクリプトをいただいてきたところ
『http://www.big.or.jp/~t-shun/trpg/trpg_cgi/dicechat/dchat03.html』
↓自分で作りかけのチャット
『http://firemind.maxs.jp/reidai/index.html』
↓dicechat.cgiの中身(メモ帳にコピーしたもの)
『http://firemind.maxs.jp/reidai/1.txt』
よくメールアドレス欄を改造してPBCとかだとキャラクターのプロフィールを入れたり
普通のチャットだと今日の気分とかを入力したりするようにしたいのですが
初心者系のネット講座を見てもいまいち理解できませんでした
似たようなスクリプトを配布しているところがあったので応用できないかと思ったのですが
やはりエラーが出てしまいました
もしよろしければアドバイスをお願いします、
そうでなければ良いアドバイスのサイト、もしくは書籍を教えて下さい
素人の書き込みですいません
0221nobodyさん
2005/10/24(月) 21:46:06ID:???どう書けばよいでしょうか。初歩的ですいません
0222nobodyさん
2005/10/24(月) 22:18:02ID:???use CGI::Enurl;
$string =~ s/\[((.)+?)\]/[enurl($1)]/eg;
これでどう?
確認してないけど。
0223nobodyさん
2005/10/24(月) 22:19:54ID:???ごめん間違えた。
use CGI::Enurl;
$string =~ s/\[((.)+?)\]/"[".enurl($1)."]"/eg;
print $string;
0224220
2005/10/24(月) 22:28:03ID:???板違な事を書き込みまして申し訳ありませんでしたスルーして下さい(平伏)
022599
2005/10/24(月) 23:45:35ID:???ハッシュに入れたものを指定した値を書き換えて別なCSVに出力するにはどうしたらいいのでしょうか。
CSVの中身
ID,NAME,ADDRESS,TEL
0,yamada,A32,333
1,tanaka,B22,555
sub write{
@arr;
open (IN, "+<$file")or die "$!";
#キー作成
(my $key = <IN>) =~ s/^\s*|\s*\z//g;
my @keys = split(/\t/,$key);
#ハッシュ代入
for(my %hash = <IN>){
chomp %hash;
chop;
@hash{@keys} = split(/\t/);
push( @arr, {%hash});
}
でprint $arr[13]->{ID}; print $arr[1]->{NAME};
のように関連付けて扱えるようになったのですが
$arr[2]->{ID} =~ s/$arr[2]->{ID}/5/;
で置き換えをしたものをCSVに入れることが出来ません。
foreach my $buff(@arr){
print OUT "$buff\t";
}
では無理でこんがらがってしまいました。
アドバイスをお願いします。
0226nobodyさん
2005/10/25(火) 00:03:26ID:???そう思うんだったらちょっとは自分で考えろよ。
基本的なアルゴリズムも分からないんだったら出直してこい。
0227nobodyさん
2005/10/25(火) 00:36:09ID:???0230mona
2005/10/25(火) 09:26:27ID:???そうです、今まではすべて、cgi-libのReadParseで事を、済ませていたのですが
ReadParse使わなくてもできるようにしておいたほうがいいかなということで
処理を自分で書いています。まだ残ってるReadParseは、その名残です。。
書き換え忘れというか・・・orz
にしても、いまだ正常に動きません…。
0231225
2005/10/25(火) 09:37:32ID:???ロジックが詰まってどうしたら良いのか進まなくなってしまいます。
発想の転換がうまくできないもので。
すいません
0233nobodyさん
2005/10/25(火) 10:21:14ID:???会員認証ごとの認証をおこなった後にその認証情報に基づいたページを作る場合、クッキーを利用する方法と、都度HIDDENで情報をひっぱる方法のどちらが良いのでしょうか?
ちなみに、携帯でもアクセスする可能性が大なサイトを作ろうと思っています。
やっぱりHIDDENの方が無難なのでしょうか?
0235nobodyさん
2005/10/25(火) 12:12:56ID:???課題は自分でやれ。
ここ自助努力をサポートする場所であって、お前の家庭教師じゃないよ。
>>233
携帯は Cookie 使えん機種が多いので NG。セッション管理を Web アプリ側で
行なって、セッション ID を Cookie ではなく type="hidden" で引っ張るのが吉。
0236nobodyさん
2005/10/25(火) 15:43:33ID:???というCGIを作ろうとして、下記のようなものを作ってみました。
#!/usr/bin/perl -w
use CGI;
use CGI::Carp qw(fatalsToBrowser);
my ($form, $ht, $datafile, $data_line, $dir);
$dir = './test';
$form = new CGI;
print "Content-Type: text/plain; charset = shift_jis\n\n";
$ht = $form->param('ht');
$datafile = $dir."/".$ht."html";
open(FH, $datafile);
@list = <FH>;
foreach $data_line( @list ) {
print $data_line;
}
close (FH);
これを実行してhtmlを表示しようとしたのですが、うまく表示されません。
できましたら修正のヒントを教えてもらえますでしょうか?
0238nobodyさん
2005/10/25(火) 15:56:07ID:???せっかく fatalsToBrowser 使ってるんだから、せめて
openのエラーはチェックしろよ。
open(FH, $datafile) or die "cannot open $datafile: $!";
ぐらいでいいからさ。
0239236
2005/10/25(火) 16:16:12ID:???openのエラーチェックしたら、見事にミスってました。
$datafile = $dir."/".$ht."html";
のところで拡張子のピリオド付け忘れてました_| ̄|○
修正したら無事表示されました。
ありがとうございました。
0240nobodyさん
2005/10/25(火) 18:33:41ID:???http://www.ipa.go.jp/security/awareness/vendor/programming/a04_01.html
0241nobodyさん
2005/10/25(火) 20:18:09ID:acj/FLSv実際にプログラム test.pl を実行している様子です。
なぜ、ファイル data の最後の行が表示されてしまうのでしょうか。
最後の行の末尾には改行文字がないので、最後の行(内容は一文字のゼロ)を $line に読み込んだ直後に、
while を抜けるはずだと予測したのですが。
%cat test.pl
#! /usr/local/bin/perl
while ($line = <>) {
print $line;
}
%hexdump -C data
00000000 33 0a 32 0a 31 0a 30 |3.2.1.0|
00000007
%./test.pl < data
3
2
1
0
# 最後の行に改行文字を持たないファイルは、truncate コマンドを使って作成しました。
0242nobodyさん
2005/10/25(火) 20:43:30ID:???perldoc perlop を見るとわかると思うけど、
while ($line = <>) { } は while (defined($line = <>)) { } と等価なので。
0243nobodyさん
2005/10/26(水) 03:47:32ID:WCtFX3bD一度アップした画像を、最大記事件数を超えた時点で削除する
プログラムを書いていたのですが、どうしてもうまくいきません。
一個一個の記事に、画像のアドレスが$file_nameとして入っていて、
if($file_name ne ''){ push (@img_dels , "./img/$file_name"); }
で、最大記事件数を超えた分の記事に付いている画像のアドレスを配列に入れて、
unlink @img_dels;
としても、きちんと画像が削除されません。
if(-e )を使って調べてみると、
./img/$file_nameでは、存在しないことになっており、
一方、./img/2005001.jpgというように、具体的な値をプログラム内に入れれば
問題なく削除できるのです。
つまり、変数$file_nameを使っているとうまく作動せず、
その変数の部分を、何か具体的なファイル名を入れてみると、
きちんと動作するのです。
なので、パーミッションの問題ではないかと思うのですが、
他にどういった点が怪しいのでしょうか?
以上、よろしくお願いいたします。
0244殿ツー
NGNGどなたかお力添えくださればうれしいとです
まずなにをインストールすればいいとですか??
0246nobodyさん
2005/10/26(水) 07:33:22ID:???0247nobodyさん
2005/10/26(水) 10:42:10ID:???>>7
http://www.site-cooler.com/kwl/perl/environment.htm
0249nobodyさん
2005/10/26(水) 14:39:04ID:???1<>あああ<>
2<>いいい<>
3<>ううう<>
@testに上記データの読込
$hikakuに比較する変数
$bbb_newは$aaaが合致した場合に入れる
foreach (@test) {
($aaa,$bbb) = split(/<>/);
if ($hikaku eq $aaa){
push(@test_new,"$aaa,$bbb_new");
} else {
push(@test_new,"$aaa,$bbb");
}
}
全上書きで@test_newをデータ書き込み
こんな感じで、要はデータ修正用のものを組んでみたのですがなぜかこれを走らせる都度先頭に半角スペースが入ってしまいます。
1<>あああ<>
2<>いいい<>
3<>ううう<>
なぜなんでしょうか?
0251nobodyさん
2005/10/26(水) 15:03:54ID:???走らせるって@test_newをprintするとってことか?
そもそも
push(@test_new,"$aaa,$bbb_new");
は
push(@test_new,"$aaa<>$bbb_new");
にしたいんじゃないかと
0252249
2005/10/26(水) 15:11:27ID:???>>251
すいません。カキコ時ミスでした。
そうです。
push(@test_new,"$aaa<>$bbb_new<>\n");
です。
保存時は
&Memory2($dataname,"@test_new");
…とし、保存時流用のため、サブに飛ばしています。
そのサブは以下のようにしています。
sub Memory2 {
local ($param) = @_[0];
local (@param2) = @_[1];
open(OUT, "> $param");
print(OUT @param2);
close(OUT);
chmod(0666,$param);
}
■ このスレッドは過去ログ倉庫に格納されています