トップページphp
1001コメント349KB

Perl 初心者コーナー Part22

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん03/04/15 10:15ID:???
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。

1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。


CGIだけど、なんか質問ある? Part 10
http://pc2.2ch.net/test/read.cgi/php/1048686475/
参考書籍の話題は、【Perl,CGI】参考書籍 第三版
http://pc.2ch.net/test/read.cgi/php/1030209573/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般/Part2】
http://pc.2ch.net/test/read.cgi/php/1030548610/
スクリプトの改造依頼は、【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/

過去ログやお勧めサイトは >>2-10
0824bloom03/05/10 15:10ID:9fodVbL5
http://homepage.mac.com/ayaya16/
0825Dream ☆03/05/10 15:33ID:???
>>823
SSI
0826nobodyさん03/05/10 15:41ID:sF6xyzVT
>>825
詳しくご教授おながいします
0827nobodyさん03/05/10 15:48ID:???
>826
PerlのコーディングスレでSSIの事を聞こうとするという事が
どういう事かわかってるか?
0828nobodyさん03/05/10 16:18ID:???
>>826
失せろキチガイ
0829nobodyさん03/05/10 16:58ID:???
sendkeyでテンキーの「+」「-」つかうにはどうしたらいいか教えていただけませんか?
0830nobodyさん03/05/10 17:14ID:???
>>829
そんなことできるわけないだろうが
0831nobodyさん03/05/10 17:40ID:???
やっぱりー?
0832nobodyさん03/05/10 18:29ID:???
>>823
>CGIで…略…不可能でしょうか?
>print使ってCGIから出力するしかないんですかね?

全く意味が分からん。
上の文はCGIで出来るのかを聞く文章で、なおかつCGIで処理を行う事を求める文書。
下のはCGIで出来ると自分で肯定している文書で。なおかつCGIで処理を行いたくないと言ってる文章。

取り敢えず出なおしてきなさい。
0833nobodyさん03/05/10 20:20ID:g2YXJoh/
あのぅ、でなおしました。
CGIのprintで出力しました。
しかし、テキストエリアに、そのCGIのソースをいれると、</textarea>がタグとしてみなされてしまって、
なんかソースファイルがテキストエリアからはみ出るんですが、テキストエリア内のタグを無効化するというのはありませんか?
0834nobodyさん03/05/10 20:29ID:???
>833
わかってないようだから教えてやろう。

 ス レ 違 い だ 。
0835nobodyさん03/05/10 20:41ID:g2YXJoh/
>>834
大変申しわけありませんが、どの板でしょうか?
0836nobodyさん03/05/10 21:08ID:g2YXJoh/
statで33188(パーミッション)  1052566298(最終更新日)
を取得したんですが、これを664とかちゃんとした数字、最終更新日を
時間分秒に変えるにはどうしたらいいですか?
0837動画直リン03/05/10 21:10ID:9fodVbL5
http://homepage.mac.com/hitomi18/
0838nobodyさん03/05/10 21:26ID:???
>>833
>テキストエリア内のタグを無効化
そのCGIが無効化処理すればいい。
>>834がああ言ってるのはperlに関係なくHTMLの問題だからでしょ。

>>836
33188 (10進数) = 1000000110100100 (2進数)
下9bitが110100100(2進数)
3bitずつ拾って8進数にすると、544ってとこか。
最終更新日はUnixタイムスタンプかな。localtime()でどうだ?
手元にリファレンスないから適当なんで、ちゃんと知りたいならリファレンスをどうぞ。
0839nobodyさん03/05/10 21:26ID:???
>>833
超板違いで本当は教えたらダメなルールなんだけど、今回限り特別で教えてやろう。(以後ここで質問するなよ)

と、思ったが
>CGIのprintで出力しました。
>しかし、テキストエリアに、そのCGIのソースをいれると
ここが意味分からない。もうちょっとやりたい事と書きたい事を整理して、web製作に行け。
ちなみに、&lt; &gt;これの半角がHTMLに置けるタグとなる。
もう来るなよ。
0840nobodyさん03/05/10 21:31ID:???
>835
自分で探せ。
各スレの>1を読めばわかるだろう。
脳足りんじゃなければ。
脳足りんなら、教えても理解できんから素直に諦めろ。

>836
検索しろよ。
8進数に変換した下3桁だ。
やり方くらい自分で調べろ。

最終更新日の方は、秒→時間の変換は普段からやってないか?
それと同じ。
0841nobodyさん03/05/10 22:05ID:g2YXJoh/
>>838>>840
ありがとうございます。
printf("%o")でできました。
それからsubstrで取り出してやれば無事できました。
ありがとうございました。
0842nobodyさん03/05/10 23:12ID:???
>>815
質問とは外れているけど、その書き方でちゃんと動いたとしても、
2重ループと言って強烈に効率が悪いから、悪いやり方、ということになる。
819のようにハッシュを使ってね。
0843nobodyさん03/05/10 23:44ID:???
ttp://www1.bbs.livedoor.com/3007429/bbs_tree

こいつ、どうよ。
0844nobodyさん03/05/10 23:54ID:g2YXJoh/
ページを更新するという構文ってないですか?
0845nobodyさん03/05/11 00:06ID:???
>>844
意味わからーん。
0846nobodyさん03/05/11 00:06ID:???
>>844
Refleshのmetaタグでも吐き出してください
0847nobodyさん03/05/11 00:07ID:???
ここは、Perlスレであって、CGIはCGIのスレがあるだろ・・・
なぜ、PerlスレでHTMLの話が出てくるんだ。
0848nobodyさん03/05/11 00:15ID:???
1:CGIとはPerlのこと、PerlとはCGIのことだと思っている。
2:PerlはHTMLを扱うためのものだと思っている。
3:学校で自慢するためにサイトに自分で少しでもいじったCGIを置きたかった。

さあ、正解は?
0849nobodyさん03/05/11 00:18ID:???
全部
0850nobodyさん03/05/11 00:37ID:p1iIhNqb
すみません、いわゆる初心者、なんです。

プログラムについて全然分かりません。
それについてのサイトとか>>2-10周辺とか見ても
次元が違うみたいなことが書かれてあって困ります。
ただ適当にネットやって楽しんでるくらいの人が
理解するには

どうすればいいのでしょう
0851nobodyさん03/05/11 00:43ID:???
ただ適当にネットやって楽しんでるくらいの人が
なぜPerlに手を出そうとしてるのか。
0852nobodyさん03/05/11 00:55ID:p1iIhNqb
えーっと
最初から何も知らないのとあんま変わらないと
思うのですがー

いけませんか
0853nobodyさん03/05/11 01:03ID:???
ただ適当にネットやって楽しんでるくらいの人が
ただ適当にネットやって楽しんでるだけで
理解しようとするのは無謀だということ。

プログラミング初心者用の解説本だっていくらでも出てるんだし、
本気で覚えようとするならいくらでも手段はある。
0854nobodyさん03/05/11 01:03ID:???
どちらにせよ、自分から方法を模索する事をしない人間は、
何を教えられても身にはつかない。
「教えてもらおう」と考えている内は、一生覚えられない。
0855動画直リン03/05/11 01:10ID:D5AlwyCG
http://homepage.mac.com/hitomi18/
0856nobodyさん03/05/11 01:13ID:???
まぁなんだ、あれだな。
「perl チュートリアル」でググってみて、そこで勉強してみて、分からないことがあったらまたおいで。
0857nobodyさん03/05/11 10:37ID:???
配列をハッシュに変換する最も高速かつ簡潔なコードは?

(a,b,c) -> (1 => a,2 => b,3 => c)としたい
なお。(a,undef,c)のときは、(1 => a,3 => c)とする

よろしく。
085885203/05/11 10:58ID:K/IiEdpM
>>856
おk,十分です、
逝ってきます
085943503/05/11 11:12ID:???
>>857
配列で値を持ってるんだからそれをハッシュにする必要性がわからない
0860nobodyさん03/05/11 11:37ID:???
>>859
でたでた。
必要性に関しての議論なんてしてないのに、でしゃばってくるやつ。
わからないなら、黙ってれよ。

つーか、それなりに使うロジックだ。
おまえが必要となるケースを経験してねーだけ。プ

ちなみに
% = map{$i++ => $_} @
が定石。
ただし、undefの場合は考慮せず。
086143503/05/11 11:42ID:???
>>860
そんなのが定石だとか思ってるからいつまで経っても上達しないんだよ

定石はハッシュのスライスだろ
0862nobodyさん03/05/11 11:53ID:???
>定石はハッシュのスライスだろ

やべ、知障の相手しちまったよw
参考までに、ハッシュのスライス使って、>>857の問い解いてみてくれ
086386203/05/11 12:21ID:???
@{1 .. $# + 1} = @;
苦しいけど、こういう手もあるわなw
086443503/05/11 12:36ID:???
>>863
まあまあってとこだな
086525003/05/11 12:44ID:???
釣りか・・・

for(0 .. $#aya){
  $aya{$_} = $aya[$_] if(not undef $aya[$_]);
}

素直にforつかってりゃいいんでねーの?
0866nobodyさん03/05/11 13:09ID:???
$hash{++$i} = $_ foreach @list;
これの方が速度出るんじゃねーの?
0867nobodyさん03/05/11 15:40ID:IBTMpZAF
readdirでファイルとディレクトリの一覧を得て、@filesという配列に格納したんですが、
これを、「.」「..」,「.*(.htaccessなど)」,ディレクトリ、ファイル
という順番であらわしたいんですが、どうしたらいいでしょうか?
0868nobodyさん03/05/11 15:58ID:???
>>867
sortすればいい
0869nobodyさん03/05/11 16:00ID:IBTMpZAF
>>868
ソートすると、ディレクトリが優先的に上にこないんですよ。
そこが困ってるんですよ・・・
0870nobodyさん03/05/11 16:01ID:ZMWn/EPc
%ff%ffみたいなかんじの16進表記を読めるようにするには
どうすればいいでしょうか?文字コードはShift_JISです。
0871nobodyさん03/05/11 16:05ID:???
>869
ファイル用の配列とディレクトリ用の配列を両方作って、それぞれにsort。
その上で、ディレクトリ用配列を先に表示すれば?

>870
もうちょっとわかりやすく。
文字のエンコードの事か?
だったらgoogleででも検索しる。
0872nobodyさん03/05/11 16:08ID:???
>>871
"%ff%ff"みたいな文字列があったとして、
Perlでそれを標準入出力に読めるような形で
出力するにはどうすればいいんでしょうか?
0873nobodyさん03/05/11 16:10ID:???
やっぱり判らない
0874nobodyさん03/05/11 16:11ID:???
>872
print STDOUT "%ff%ff";
0875nobodyさん03/05/11 16:17ID:???
>>873
例えばですね、文字列⇒16進表記、という変換をしてくれるCGIは
Web上にいくつかあります。その逆がやりたいんです。
16進表記と文字コードを指定すると、標準入出力に文字が表示されるような
0876nobodyさん03/05/11 16:20ID:???
>875
jcodeで検索。
0877nobodyさん03/05/11 16:21ID:???
>875
ttp://www.google.com/search?q=Perl+%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89+%E5%A4%89%E6%8F%9B&ie=UTF-8&oe=UTF-8&hl=ja&lr=
0878nobodyさん03/05/11 16:29ID:???
>>876-877
どもです。ちょっとjcode.plについて調べてみます。
087943503/05/11 16:31ID:???
jcode は
0880nobodyさん03/05/11 16:44ID:???
>>869
@files =
map { $_->[0] }
sort { $b->[1] <=> $a->[1] || $b->[2] <=> $a->[2] || $a->[0] cmp $b->[0] }
map { [ $_, /^\./ ? 1 : 0, -d ? 1 : 0 ] }
readdir DIR;

キーワード:
sort map 三項演算子 ファイルテスト演算子 比較演算子
リファレンス 無名配列 Schwartzian Transform
0881nobodyさん03/05/11 16:48ID:???
すげーーー!!!
0882nobodyさん03/05/11 18:45ID:???
ちょっと下らない質問なんですが…。

一度使っていらなくなった変数は、
メモリ容量の事を考えて初期化したほうがいいですか?
それとも、初期化処理自体が無駄に負荷をかける処理ですか?

(視覚的には初期化したほうが「もう使わない」って分かってグット)
0883nobodyさん03/05/11 18:56ID:???
一度しか使わない巨大なバッファとかなら
捨てた方がいいかも。
大抵は、消費量が微小か、要らなくならないんじゃないかな。
0884nobodyさん03/05/11 19:02ID:IBTMpZAF
>>871
#!/usr/bin/perl

opendir DIR, ".";
@files = readdir DIR;
splice(@files,1,1);
close DIR;

#################ソート処理#################
sub hikaku{
my($alen) = Length($a);
my($blen) = Length($b);
if ($alen == $blen){return 0;}
elsif ($alen > $blen) {return 1;}
elsif ($alen < $blen) {return -1;}
}

#@files = sort (@files);
############################################
$f = "<td bgcolor=ffffff><font size=2>";

print "Content-Type: text/html\n\n";
print "<html><head>\n";
print "<title>dir</title></head>\n";
print "<body>\n";
print "<br><br><br><br><br><br>  ファイル一覧<br>\n";
print "<br><table cellpadding=1 cellspacing=1 bgcolor=dddddd>\n";
print "<tr>${f}ファイル名</td>${f}リンク</td>${f}拡張子</td>${f}サイズ</td>${f}アクセス権</td>${f}最終更新日</td></tr>\n";
#ファイル名を全て取得するまでループ
foreach (@files){
0885続き03/05/11 19:03ID:IBTMpZAF
#ファイル情報読み取り
@stat = stat $_;
#時間の形式を変換
sub time {
$ltime = $stat[9];
($sec,$min,$hour,$mday,$mon,$year,$wdy) = localtime($ltime);
@youbi = ("日", "月", "火", "水", "木", "金", "土");
printf("%04d/%02d/%02d($youbi[$wdy]) %02d:%02d:%02d\n",
$year + 1900,$mon + 1,$mday,$hour,$min,$sec);
}
#パーミッションを8進数に変換
$bin = sprintf("%o",$stat[2]);
$par = substr($bin,2,4);
#パーミッションの桁数調整
if ($par =~ /\d{4}/){$par = substr($par,1,3);}
#拡張子を抜き出す
$i = index($_,"\.");
$index = substr($_,$i++,11);
0886続き03/05/11 19:03ID:IBTMpZAF
#ディレクトリは特別な設定にする
if ($bin =~ /40/){$index = "";
$stat[7] = "<font color=red>DIR</font>";}
else{$index = "<font size=2>$index</font>";
}
#テーブルに組み込み出力
print "<tr>${f}$_</td>\n";
print "${f}<a href=$_ target=_top>$_</a></td>\n";
print "<td bgcolor=ffffff>$index</td>\n";
print "${f}$stat[7]</td>\n";
print "<td bgcolor=ffffff align=center><font size=2>${par}</td>\n";
print "${f}\n";
&time;
print "</td></tr>\n";}
print "</table><br>\n";
print "<center><input type=button value=更新 onClick=history.go(0)></center>\n";

ってしたんですけど、これをあまり変えないで、配列2つつくるのは無理そうですね。。
0887nobodyさん03/05/11 19:13ID:???
テキストエリアに入力された情報をprintで表示したいのですが、

@pairs = split(/&/,$buf);
foreach $pair(@pairs)
{
($name,$value) = split(/=/,$pair);
  $value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$value =~ s/</</g;
$value =~ s/>/>/g;
$FORM{$name} = $value;
}

$Msg= $FORM{'MSG'};
print "$Msg";

で表示されないのです。どうすれば表示できるでしょうか?
0888nobodyさん03/05/11 19:24ID:???
送られてきた情報は、どうやって $buf に入れてるの?
テキストエリアを含んでいるformのあたりはどういうソースにしてるの?
088988703/05/11 19:42ID:???
--HTML側--
<form method="POST" action="./test.cgi">
<div>名前:<input type="text" name="NAME"></div>
<textarea type="text" name="MSG" cols="40" rows="4" wrap="soft"></textarea>
<input type="submit" value="送信">
<input type="reset" value="取消">

--CGI側--
#!/usr/local/bin/perl

local($buf);

#入力データ読み出し
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read (STDIN, $buf, $ENV{'CONTENT_LENGTH'});
} else {
$buf = $ENV{'QUERY_STRING'};
}

以下>>887のソースへ

という風になっております。
0890見せかけの善人(コピペ推奨)03/05/11 19:52ID:???
<アスペルガー症候群(自閉症スペクトラム)←脳の機能的疾患(遺伝が要因)>
http://www3.ocv.ne.jp/~cochome/kaisetsu.htm#chigai
http://www.autism.jp/l-02-03-aspe3.htm
http://www.geocities.co.jp/Beautycare/5917/as/
●接し方のルールがわからず無邪気に周囲の人に対して迷惑なことをしてしまうこと
がある。人を傷つけるということには鈍感です。年配の先生に向かって「おばあさん
先生おはようございます」と明るい大声で挨拶する生徒もいる。こういった言動をす
る場合にも彼らには悪意はない。
●小さな声でひとり言を言ったり、考えていることを声に出して言うことがある。
●融通が利かないことも学校生活で問題になる。時間割の変更や突然の教師の欠勤と
いう事態で不安を感じたりかんしゃくをおこしたりする。あまりに規則に厳格なため
に、遅刻した同級生に延々と注意をしたり、修学旅行などで消灯時間をかたくなに守
り、他の生徒の顰蹙をかったりすることがある。
●行動・興味・活動のパターンが貧困で反復常同的なことも自閉症の特徴である。すな
わち、日常の活動の様々な面にわたって柔軟性のないルーティン(決まった手順や日課)
を押しつける傾向、これを慣れ親しんでいる習慣や遊びのパターンだけでなく、たいてい
は新しい活動にも押しつける。そしてルーティンや個人的な環境の細部の変化(家の中の
置物や家具の移動によるなど)に対する抵抗がみられることがある。
●揺れる木の葉を見続ける子どもは興味のレパートリーが狭いとも言え、視覚的な敏感さ
があるといっても良い。
●精神遅滞を伴うものと伴わないもので大きく分かれる。100%果汁のオレンジジュー
スを思い浮かべてください。それにだんだん水を加えて薄めて行くと終いには水にごく近
くなる。一口飲んで「オレンジジュースだ!」とわかるものは自閉症、水に近いけれどな
にかオレンジの味が混じっているのがアスペや高機能・・。その濃度はさまざま。濃いオ
レンジジュースであったとしても早期の療育や周りの対応によって水に近づいていくこと
は可能。しかし間違えてはいけないのはオレンジジュースが一滴でも落ちている場合は
「純粋な水」にはなれないのです。
0891nobodyさん03/05/11 20:02ID:???
>>887
$value =~ tr/+/ /;
の行に全角の空白文字が混ざってる。

ヘッダをはいてないけど、省略してるだけ?
print "Content-type: text/html\n\n";
0892nobodyさん03/05/11 20:11ID:???
すみません。
ソートの話しなんですが…。

@data_1;
@data_2;    #両方とも中は数字

こんなのがあったとします。
これをごっちゃまぜにして
@data_sort;
の中にソートして入れたいのですが、そうすると「@data_1」が持っていた変数なのか、
「@data_2」が持っていた変数なのか、分からなくなってしまいます。

「@data_sort」の中に入れつつも、その値は元々どちらの変数が持っていた値かを分かるようにする方法はないでしょうか?
089343503/05/11 20:16ID:???
ハッシュの配列
0894nobodyさん03/05/11 20:18ID:???

超おすすめサイト一覧です☆
http://accessplus.jp/staff/in.cgi?id=10645
http://www.39001.com/cgi-bin/cpc/gateway.cgi?id=neat
http://www.39001.com/cgi-bin/cpc/gateway.cgi?id=pure
http://accessplus.jp/staff/in.cgi?id=10943
http://www.emzshop.com/goodstyle/
089588703/05/11 20:30ID:???
>>891
ヘッダは省略してるだけです。説明不足ですみません。

全角スペースは、CGIのソースには含まれていなかったので、
ここに書き込むときにでも発生したのかもしれません。

textarea以外のinput等に入力されたデータはちゃんと表示されています。
0896nobodyさん03/05/11 20:36ID:pspablfq
掲示板で記事の修正機能を作りたいのですが、、
記事番号、パスワードが入力するとtextareaやらに表示させる、
ってトコまではできました。

しかしそこからログファイルの配列とファイルの書きこみ操作がよく分かりません。
ログが全部消えてしまったりします。

ログファイルの変更箇所だけを上書き、というはどうやればいいのでしょうか?
分かりにくい文章ですが、宜しくお願いします。
0897nobodyさん03/05/11 20:47ID:???
微妙にスレ違いな気がする

ログファイルの一行を変えたいならファイルの中身を一行ずつ配列に入れ(もちろんすべて)、
修正したい行が入っている要素だけ書き換える。
あとは配列の中身をファイルに上書き。
089889203/05/11 20:55ID:???
ハッシュですか。
なんとか工夫して頑張ってみます。
089989603/05/11 23:22ID:???
>>897

ありがとうございます。
090047703/05/11 23:24ID:???
質問です、
2次の配列を作って表示させてるんですが
--------------------------------------
@gyou1 = (
['photo','pic','scan'],
['ph0001','pic001a','scan001'],
['ph0002','pic001b','scan002a'], 〜56行続く
);
@gyou2 = (
['photo','pic','scan'],
['ph1001','pic101','scan101a'],
['ph1002','pic102','scan101b'], 〜70行ほど続く
);
for ($i = 0; $i <= 56;i++){
print "$gyou1[i][1]";
}
for ($j = 0; $j <= 56;j++){
print "$gyou2[j][1]";
}
--------------------------------------
こんな感じに表示させているんですが、凄まじく重くて・・・、
一片に表示させずa herefみたいなのでページ切り替えさせたいんですけれど
方法がわかりません、
ここのCGIみたく任意の記事番号をハイフンで繋ぐだけで見せてくれる仕組みが
ヒントになりそうだけどソース見れないし・・・
なにかないでしょうか?

あと、ついでですが、データ内包するよりログファイルから引き出す方が処理早いでしょうか?
できれば教えて下さい、
0901nobodyさん03/05/11 23:43ID:???
はぁ〜・・・
今日もCGIの質問が多いなぁ〜・・・(´ー` )
0902nobodyさん03/05/12 00:14ID:???
もっとこう、mapとかスライスとか、
微妙な質問カモン
0903nobodyさん03/05/12 00:55ID:???
>>900
> ページ切り替えさせたいんですけれど方法がわかりません
やりたい事を実現するには具体的にどんな「情報」が
必要か考えてみれ。まず表示を開始する行番号が
必要だよな? 後は?

> データ内包するよりログファイルから引き出す方が処理早いでしょうか?
実際に試せ。コード書いて調べろ。その方が人に聞くより早い。
0904nobodyさん03/05/12 01:56ID:722KG0lc
CGI(perl)で指定したページにジャンプさせたいんですけど
Locationではうまくいかないんですが他にジャンプさせる
命令語ありますか?
0905nobodyさん03/05/12 01:58ID:Uc7D0G4o
1クリック10円で仕事あがりに2ちゃんねるにリンクを貼り付けるだけで・・・
先月分126620円入金されました。
リンクスタッフの登録はメアドと任意のパスワード
を入力すれば完了。メアドは無料メールでも可。
http://accessplus.jp/staff/in.cgi?id=10645

0906nobodyさん03/05/12 02:56ID:???
>>904
http://pc2.2ch.net/test/read.cgi/php/1045091733/
http://pc2.2ch.net/test/read.cgi/php/1048686475/
0907nobodyさん03/05/12 06:42ID:???
>>900
CGIであっても、コーディングに関する質問になら答えられる。
でも「CGI特有のアルゴリズム」に関する質問はスレ違い。
0908nobodyさん03/05/12 07:48ID:???
>>904>>901を受けたネタだろ。放置汁
0909nobodyさん03/05/12 09:38ID:K6tDiGbj
ふと疑問に思ったんですが、例えば
print ゙aiueokakikukeko\n゙;
ってのが複数でてくる場合
変数aに置き換えて$aとするのと
サブルーチンaにして&a;とするのではどうかわるのですか?
0910nobodyさん03/05/12 11:59ID:???
そのばやいは変数だろ
091190803/05/12 12:05ID:K6tDiGbj
そうなんですか。
サブルーチンだったら展開に時間がかかるってことですか?
複数の処理の場合はサブルーチン、一個の処理の場合は変数ということでしょうか?
0912nobodyさん03/05/12 12:08ID:???
変数をひとづつサブルーチンにしてみ。おしゃれだよね
0913nobodyさん03/05/12 12:11ID:???
ええとねサブルーチンのね用途はね。    やっぱやめとこ。
0914nobodyさん03/05/12 12:13ID:???
>>911
サブルーチンの場合、一回実行するごとにスタックがつまれてメモリを食う。
その分、若干時間も食う。

この場合はどうのこうのと言うより、自分で考えろ。
0915nobodyさん03/05/12 12:25ID:K6tDiGbj
>>912->>914
ありがとうございます。極端な話、すべて変数にしちゃってもいいですかね?
>>914ためしたんだけどあまりかわらないような…
メモリを食うというのは初めて知りました。大変参考になりました
0916nobodyさん03/05/13 00:23ID:???
>>915
駱駝買え、駱駝。

ループの中ではサブルーチン呼び出しはできるだけすんなとか書いてある。
0917nobodyさん03/05/13 00:29ID:sfojkvp6
>>916
サンクス
0918nobodyさん03/05/13 02:15ID:???
>>909
ところで、その文字列を囲んでいる奇妙な文字はなんだ?
091991803/05/13 02:34ID:???
ああ、半角の濁点か。
0920nobodyさん03/05/13 02:35ID:???
ほんとだ(^∀^)ゲラゲラ
0921nobodyさん03/05/13 02:46ID:???
すみません。
perl/tkをwinでちょっとやってみようと思い、マズは色んなサイト見てみる事にしました。
で、以下のコードをとあるサイトからパクって来ました。

$top = MainWindow->new();
$button = $top->Button( -text => 'EXIT', -command => \&exit );
$button->pack();
MainLoop();

これ、正常に動いたのですがなにがなんだか意味が分かりません。全く分かりません。
リファレンスとか、無名のなんたらを使ってるって事は分かったのですが…。

tkのプログラミングをを専門に解説してるサイトが一向に見つかりません。
リファレンスの説明をしているサイトは見つかったのですが、
「tkの記述を」まるで初心者におしえるかのごとく細かく丁寧に、そして多量に書いているサイトはないでしょうか?

クソみたいな質問ごめんなさい。
0922nobodyさん03/05/13 02:51ID:???
>>921
http://www.oreilly.co.jp/index/perl/
0923nobodyさん03/05/13 02:53ID:???
>>921
ググればいくらでも見つかるのに。
レス数が900を超えています。1000を超えると表示できなくなるよ。