【Perl】初心者コーナー Part15
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
02/08/08 23:19ID:???1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
CGIだけど、なんか質問ある? Part 6 (その2)
http://pc.2ch.net/test/read.cgi/php/1025930486/
参考書籍の話題は【【Perl,CGI】参考書籍 第2版】
http://pc.2ch.net/test/read.cgi/php/988809842/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
スクリプトの改造依頼は 【スクリプト改造工房 Part4】
http://pc.2ch.net/test/read.cgi/php/1012839651/
過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0910894
02/09/13 04:35ID:???open(OUT,">$n");
while(<STDIN>){
unless(/^\.\n/){
print OUT;
}
else{
++$n;
open(OUT,">$n");
}
}
で自己解決しました。
説明が下手でちゃんと伝わらなかったみたいでスマソ。
0912nobodyさん
02/09/13 04:42ID:???そんなはずは......ちゃんとコピペしてくれた?
0914nobodyさん
02/09/13 04:51ID:???あ 904 なんだけどね......
うちではちゃんと動いたんだけどなぁ
まぁいいんだけど
0915894
02/09/13 05:05ID:???はじめてのperlって本を一通り終えただけの
初心者だからredoとかloopが分からないのレス。
動かない理由がよく分からないけどサンクス!
0916nobodyさん
02/09/13 15:55ID:???if ($xx ne "aa"|"bb"){
print "cc";
}
これじゃいつでも"cc"と表示します。何でですか?
0917nobodyさん
02/09/13 15:57ID:???print "cc";
}
0918905
02/09/13 16:15ID:???| > MBXファイルのフォーマットを公開して頂けないでしょうか?
|
|次の通りです。
|
|ヘッダ
|(ブランク行) --- CRLF1個だけの行
|本文
| --- 行頭に1個のピリオド(メール間の区切り文字)
|ヘッダ
|(ブランク行) --- CRLF1個だけの行
|本文
| --- 行頭に1個のピリオド(メール間の区切り文字)
|
|
| (注意)本文の行頭に「.」がある場合は、「..」というように「.」を1
| 個余分につけて保存されます。
0919nobodyさん
02/09/13 16:48ID:+7b38iG7コード書いてみたんですが、いくつかディレクトリが存在するにも関わらず
「.」(ルート)と「..」(上)のディレクトリしか拾えないんですが、何かおかしな
点などありますでしょうか・・・
opendir(DIR, "data");
while($dir = readdir(DIR)){
if(-d $dir){
#処理・・・
}
}
closedir(DIR);
0920919
02/09/13 16:51ID:+7b38iG7if(-d $dir){
は
if(-d "data/$dir"){
としないとダメですね。
0921nobodyさん
02/09/13 17:50ID:???特に気にする必要はない?
0922nobodyさん
02/09/13 17:57ID:???数十行でも重い処理は書けるからね。
>>921
まず気にするほどのことは無いと思う。多分1MBくらなら問題ないでしょう。
プログラムが重いと感じたら処理の流れを見直すべし。
それと、「CGIファイル」じゃ意味が通じないんで「Perlスクリプト」や「スクリプトファイル」と表現するように。
上記の回答もそのような意図と解釈して書いてます。
0925名無しさん
02/09/13 20:11ID:dJSmRC1Rhttp://natto.2ch.net/test/read.cgi/off/1031911920/l50
キタ━━━━━━━(゚∀゚)━━━━━━━!!!!!
0926nobodyさん
02/09/13 20:56ID:MTIQ7Fw0$xx_(ここも変数)
()の変数は$yy
どう表記したらいいでしょうか?
0927nobodyさん
02/09/13 21:07ID:???my $xx_1 = "foo";
my $yy = 1;
no strict 'refs'; # シンボリックリファレンスを許可する(デフォルト)
print ${"xx_$yy"};
}
0930nobodyさん
02/09/14 08:14ID:???Can't use an undefined value as a symbol reference at test.3.pl line 8.
>>928
fooが出力されるべきところ何もでてこない
結局、どれでやってもだめレスが・・・
0931930
02/09/14 08:21ID:???>>928は、myを取ったら出力されました
わしの考えたのは
$var = "xx_" . $yy;
print $$var;
分かりやすくていいでしょ
0934nobodyさん
02/09/14 14:58ID:bLV5ATcLデータ数が多い場合はやはり幾つかのDBMに分けた方が良いのでしょうか。
それとも全部一括りにして1つのファイルにまとめた方が効率が良いのでしょうか。
ちと分からないので質問です。
0935nobodyさん
02/09/15 00:34ID:???ファイル1枚
・壊れやすそう
・壊れたら致命的そう
・サイズがでかそう
ファイル複数
・壊れにくそう
・壊れても被害は少なそう
・余計なデータは読まずに済むから軽そう
0936nobodyさん
02/09/15 05:43ID:sdGpPtiVどうしたらよかとでしょうか?
0937nobodyさん
02/09/15 07:30ID:iaBuYHci1900年からの経過秒数が知りたいの?
だったら、
use Time::Local;
print timelocal(0,0,0,15,8,102);
で9月15日0時0分0秒のそれが出てくる
0938nobodyさん
02/09/15 11:34ID:???ライブラリルーチンのインクルードは、requireを使った方が良いといわれていますが、
その理由がよくわからないので言う事を聞く気になりません。
うまい具合に違いを説明して僕を説得してください。
0939あ ◆4WVJTVm.
02/09/15 11:47ID:7pMxPAY1途中である条件が一致した場合、現在処理している変数が何番目の変数なのかを知り、変数に数値を格納したいのです。
どなたかご回答よろしくお願いします
0940あ ◆4WVJTVm.
02/09/15 11:51ID:7pMxPAY1>現在処理している変数が何番目の変数なのかを知り、 ↓
>現在処理している配列が何番目なのかを知り、
すみません
0941nobodyさん
02/09/15 11:54ID:???わたしは初心者なのですが、ライブラリをインクルードするのはdoではできな
いと思うのですが、具体例を示していただけませんでしょうか。
0942nobodyさん
02/09/15 12:01ID:???配列の番号は$array[$i]の$iです
for $i (0 .. $#array) {
if ($array[$i] == 0) {
$array[$i] = $num;
print "$i番目の配列要素の値に$numを代入しますた\n";
}
}
0943nobodyさん
02/09/15 12:02ID:???require "hoge.pl";
となっているところを
do "hoge.pl";
と置き替えるだけです。
一応平気で動作しています。
0944nobodyさん
02/09/15 12:09ID:???if ($array[$i] == 0) { って??
$array[$i] = $num; って$numはどこからでてきたの?
それにそんなことしたら配列の内容書き換えてるんじゃ?
doは%INCをチェックしない。つまり、同じライブラリを何度も読んでしまう。
そうなると、サブルーチンの再定義など、いろいろ不都合が生じると。
0947944
02/09/15 12:17ID:???for $i (0 .. $#array) {
if($array[$i] eq $arujouken){
$hensuu = $i
last;
}
}
かな?>>939
0948nobodyさん
02/09/15 12:18ID:???>>939は、配列要素が何らかの条件に合致した場合、
その要素(>>939は変数といってるが)に何らかの
数値を格納したいって言うんでしょ
それなら、>>942で合ってるよ
>>944は>>939を別の解釈をしてるなら、それに
従って答えるべし
0950942
02/09/15 12:25ID:???じゃ、同じ質問を返そう
$arujoukenって??
$array[$i] = $i; って?
>>939は数値を格納したいっていってるのよ
配列の番号を格納していなんて言ってないよ
0951944
02/09/15 12:27ID:???わかりやすくしたつもりだが…<$arujouken
もちろんマッチングだとは思うので仮にこうしたまでだが。
$array[$i] = $i;
なんて書いてません。
0954938
02/09/15 12:36ID:???そうなのですか。一応検索はかけていたのですが
そこまで説明しているとこは見つけられなかったもので。
説得されました。require使います。
>>946
だそうです。
0955あ@939 ◆4WVJTVm.
02/09/15 12:48ID:s9DZ7/nK>>939の質問に答えてくださったかたがた、ありがとうございました。
陰様で、いろんなかたがたの意見を参考に服用していって、さらに素晴らしいものが出来上がりました。
本当にありがとうございますた。
0957nobodyさん
02/09/15 13:48ID:kinL8j5T正しく動きません。何で?
$xxx = index($yyy, "aaa"|"bbb");
質問に答える前に一つ聞きたいんだけど、どこでそういう構文を学んだの?
正直、凄く興味がある。
09593PIO ◆3pIoOHKo
02/09/15 14:14ID:???いや、それ以前にビットOR演算子が…。
論理OR演算子なら百歩譲ってああ誤解するのも頷けるけど、なぜビットOR演算子が…。
0961nobodyさん
02/09/15 14:39ID:???0963nobodyさん
02/09/15 14:43ID:???0964nobodyさん
02/09/15 14:47ID:???正規表現とごっちゃになってるとか。
0965nobodyさん
02/09/15 14:49ID:kinL8j5Tそうだよ
0966nobodyさん
02/09/15 14:54ID:???ちがうんじゃない?
aaaかbbbが出てくるindexを全部出してちょってことじゃ?
こんなのどうかにゃ:
$yyy = "bbbabcdaaaefghbbbcdefaaa";
&search_index($yyy, "aaa");
&search_index($yyy, "bbb");
sub search_index {
my ($string, $substring) = @_;
my $index = $start = 0;
while($index = index($string, $substring, $start) + 1) {
last if $index < 0;
print $index - 1, "\n";
$start = $index + length($substring);
}
}
順目って用語あるの?
0967nobodyさん
02/09/15 14:55ID:???0969nobodyさん
02/09/15 14:57ID:???次スレ立てて〜
09703日目
02/09/15 14:57ID:AwUTEWn/$temp="ここに<br>入力"
print <<"HTML";
<textarea >$temp</textarea>
とすると、
フォームのテキストエリアに
”ここに<br>入力”と表示され<br>が入ってしまう。
”ここに
入力”
とちゃんと改行させるにはどうすればいいの?
0972nobodyさん
02/09/15 14:59ID:???お前はHTMLからやり直せ
お前はHTMLからやり直せ
お前はHTMLからやり直せ
お前はHTMLからやり直せ
お前はHTMLからやり直せ
お前はHTMLからやり直せ
09773日目
02/09/15 15:13ID:AwUTEWn/09793PIO ◆3pIoOHKo
02/09/15 15:17ID:???1000取り厨房以外はhttp://pc.2ch.net/test/read.cgi/php/1032070299/へ
0980nobodyさん
02/09/15 15:27ID:???0981nobodyさん
02/09/16 03:22ID:???0982nobodyさん
02/09/16 21:35ID:PzkShHDm__
/_、_\
( _ノ` ) ズキューン
/⌒ /_ \ , :,
( ;y=ー( _ノ` )・∵: ;
/ と ̄ ̄_)
/ /\  ̄ / ̄\ ←◆3pIoOHKo
_| ̄ ̄ \ / ヽ \_
\ ̄ ̄ ̄ ̄ ̄ ̄ \__)
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
.|| ||
0983perl初心者
02/09/17 00:56ID:i0fZtbTDTMPL_LOOPのネストって出来るのでしょうか? もし出来るとしたら、その方法は?
テンプレではTMPL_LOOPをネスとさせておいて、単純に配列に配列を格納すればいいのでしょうか?
0984nobodyさん
02/09/17 01:14ID:???正解 つーか自分で試せ
次スレ http://pc.2ch.net/test/read.cgi/php/1032070299/
0985nobodyさん
02/09/17 01:23ID:jlRQ/iYc他のブラウザは大丈夫なのにMAC版のIEでのみcookieが書き込めないと言う
現象がおきて困っています。考えられる原因はなんでしょう?
手法としては通常通りHTMLヘッダの前にprint文でSet-Cooki:を出力しています。
0986nobodyさん
02/09/17 02:53ID:???0987nobodyさん
02/09/17 06:28ID:yAKo74Fa> 他のブラウザは大丈夫なのにMAC版のIEでのみcookieが書き込めないと言う
日本語の値をMacOSX用IE5.2のcookieに書き込む場合には、
Jcode.pmを利用して、UTF-16形式にエンコードする必要が
あるかもしれません。
0988nobodyさん
02/09/17 07:57ID:PJt6wEZh0989nobodyさん
02/09/17 08:45ID:???0990nobodyさん
02/09/17 08:45ID:???0991nobodyさん
02/09/17 08:45ID:???0992nobodyさん
02/09/17 08:45ID:???0993nobodyさん
02/09/17 08:45ID:???0994nobodyさん
02/09/17 08:45ID:???0995nobodyさん
02/09/17 08:45ID:???0996nobodyさん
02/09/17 08:45ID:???0997nobodyさん
02/09/17 08:46ID:???0999nobodyさん
02/09/17 08:55ID:???10001000
02/09/17 08:55ID:???1000
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。