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

Perlコーディング初心者質問スレ Part 41

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/03/10 00:47:16ID:sT66OcmD
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

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

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

過去ログやお勧めサイトは >>2-10
0002nobodyさん05/03/10 00:47:50ID:sT66OcmD
関連スレ
△▲ WebProg 初心者の質問 Part11 ▼▽
http://pc5.2ch.net/test/read.cgi/php/1101635909/

CGIだけど、なんか質問ある? Part 12
http://pc5.2ch.net/test/read.cgi/php/1097334246/

【Perl,CGI】参考書籍 第三版
http://pc5.2ch.net/test/read.cgi/php/1030209573/

【Perl】ファイルロック(排他処理)について語ろう
http://pc5.2ch.net/test/read.cgi/php/1024795138/

★負荷軽減対策委員会(Perl、PHP)★
http://pc5.2ch.net/test/read.cgi/php/1034645635/

Perlモジュールについて
http://pc5.2ch.net/test/read.cgi/php/997829243/

CGIに依存しないPerlの話題一般/Part2
http://pc5.2ch.net/test/read.cgi/php/1030548610/

★三 【 スクリプト改造工房 PART 8 】 ★三
http://pc5.2ch.net/test/read.cgi/php/1077525387/

【 スクリプト改造依頼スレ 】(丸投げ) part3
http://pc5.2ch.net/test/read.cgi/php/1105046286/
0003nobodyさん05/03/10 00:49:42ID:???
http://pc5.2ch.net/test/read.cgi/php/1110383236/
0004nobodyさん05/03/10 00:51:53ID:???
[過去ログ] 1 of 4

Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能
 DAT: http://tako.2ch.net/perl/dat/957208980.dat
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能
 DAT: http://tako.2ch.net/perl/dat/971817087.dat
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能
 DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能
 DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part5 http://pc.2ch.net/php/kako/988/988728069.html
Part6 http://pc.2ch.net/php/kako/996/996075607.html
Part7 http://pc.2ch.net/php/kako/1000/10002/1000267444.html
Part8 http://pc.2ch.net/php/kako/1003/10039/1003900311.html
Part9 http://pc.2ch.net/php/kako/1009/10095/1009549309.html
Part10 http://pc.2ch.net/php/kako/1014/10145/1014556702.html
0005nobodyさん05/03/10 00:52:43ID:???
[過去ログ] 2 of 4

Part11 http://pc.2ch.net/php/kako/1017/10172/1017201229.html
Part12 http://pc.2ch.net/php/kako/1019/10199/1019917048.html
Part13 http://pc.2ch.net/php/kako/1022/10227/1022731565.html
Part14 http://pc.2ch.net/php/kako/1026/10269/1026977659.html
Part15 http://pc.2ch.net/php/kako/1028/10288/1028816385.html
Part16 http://pc.2ch.net/php/kako/1032/10320/1032070299.html
part17 http://pc.2ch.net/php/kako/1034/10345/1034583844.html
part18 http://pc.2ch.net/php/kako/1037/10377/1037797479.html
part19 http://pc.2ch.net/php/kako/1042/10422/1042260745.html
part20 http://pc2.2ch.net/php/kako/1044/10447/1044717887.html (タイトルに19と誤記)
0006nobodyさん05/03/10 00:53:19ID:???
[過去ログ] 3 of 4

part21 http://pc2.2ch.net/php/kako/1047/10479/1047980851.html
part22 http://pc2.2ch.net/php/kako/1050/10503/1050369328.html
part23 http://pc2.2ch.net/php/kako/1053/10530/1053051519.html
part24 http://pc2.2ch.net/php/kako/1054/10549/1054992610.html
part25 http://pc2.2ch.net/php/kako/1056/10567/1056730690.html
part26 http://pc5.2ch.net/php/kako/1059/10590/1059043704.html
part27 http://pc5.2ch.net/php/kako/1060/10608/1060808783.html
part28 http://pc5.2ch.net/php/kako/1063/10635/1063562491.html
part29 http://pc5.2ch.net/php/kako/1066/10662/1066286828.html
part30 http://pc5.2ch.net/test/read.cgi/php/1069846177/
0007nobodyさん05/03/10 00:54:37ID:???
[過去ログ] 4 of 4

part31 http://pc5.2ch.net/test/read.cgi/php/1072896288/
part32 http://pc5.2ch.net/test/read.cgi/php/1075545279/ (タイトルに31と誤記)
part33 http://pc5.2ch.net/test/read.cgi/php/1078076768/
part34 http://pc5.2ch.net/test/read.cgi/php/1081148490/
part35 http://pc5.2ch.net/test/read.cgi/php/1085557731/
part36 http://pc5.2ch.net/test/read.cgi/php/1089779036/
part37 http://pc5.2ch.net/test/read.cgi/php/1093106507/
part38 http://pc5.2ch.net/test/read.cgi/php/1097158988/
part39 http://pc5.2ch.net/test/read.cgi/php/1101522903/
part40 http://pc5.2ch.net/test/read.cgi/php/1106816922/ (前スレ)
0008nobodyさん05/03/10 00:55:10ID:???
ム板Perlスレより

[プログラミング自体の経験が無い奴はまずココを読め]
Perlプログラミング講座: http://www5a.biglobe.ne.jp/~n_rieko/perl/

[本]
リャマ: http://www.oreilly.co.jp/BOOK/lperl3/
駱駝: http://www.oreilly.co.jp/BOOK/pperl3v1/
Effective Perl: http://www.ascii.co.jp/books/detail/4-7561/4-7561-3057-7.html
クックブック: http://www.oreilly.co.jp/BOOK/pcook/

[オンラインマニュアル]
Perldoc.com: http://perldoc.com
perldoc.jp: http://perldoc.jp
perl5.005_03 のドキュメント: http://www.kt.rim.or.jp/%7ekbk/perl5.005/

[モジュール]
CPAN.com: http://search.cpan.org/
河馬屋二千年堂: http://member.nifty.ne.jp/hippo2000/

[テクニック]
Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
Perlのページ: http://homepage1.nifty.com/nomenclator/perl/
0009nobodyさん05/03/10 01:03:06ID:???
前スレと同じテンプレにしたけど、足りない箇所、間違いあったら訂正よろしこ

過去ログ貼るとき「httpが多すぎます」って出た。こんな制限あったんだ

そそ、「コーディングとは云々」ってやつ無かったけどあれやめたの?
前スレ終盤、とんでもないスレ違いの書き込みがあったので気になりますた
0010nobodyさん05/03/10 02:53:34ID:???
ひらがな -> カタカナ変換はぐぐりまくって

$value =~ s/\xa5\xa4/`/g;
$value =~ s/\xa4([\xa1-\xfe])/\xa5$1/g;
$value =~ s/`/\xa5\xa4/g;

とやればできるとなんとかたどり着いたのですが、この逆の
カタカナ -> ひらがな 変換がどうしてもヒットしません。

ご教示いただけますと幸いです。
0011nobodyさん05/03/10 08:33:39ID:Cjqv3NW2
ダウンロードツールを作ってます。
ボタンを押して、ページを切り替えるタイプの掲示板cgiのログを落とせるようにするには
どうすればいいのですか?
getでページ切り替えを送信する掲示板ならまだできそうですが、postで情報を送信する掲示板だとどうしていいかわかりません。
0012nobodyさん05/03/10 08:40:58ID:Cjqv3NW2
>>10
よくわかんないけど
http://www.google.co.jp/search?hl=ja&inlang=ja&ie=Shift_JIS&q=%83%4A%83%5E%83%4A%83%69%82%F0%82%D0%82%E7%82%AA%82%C8%81%40perl&lr=
とかじゃだめ?
0013nobodyさん05/03/10 09:01:21ID:???
>>10
正規表現の左右逆にしてできないん?

>>11
getでできるならpostでもできるだろ。
何なら書き込みフォーム以外の <form method="post"> を <form method="get"> にすれば? とか。
0014nobodyさん05/03/10 09:11:12ID:???
>>1 乙。
関連(参考)スレに
・正規表現道場 [ http://pc5.2ch.net/test/read.cgi/php/1105930285/ ]
も加えるとか。
0015nobodyさん05/03/10 15:29:02ID:Mmpnq31h
例えばとあるCGIを起動したら
http://www.hoge.com/index.cgi
にPOST形式でクエリを送り付けたいのですが不可能ですか?
この送り先は自分のCGIではないです。
CGIの起動はcronで毎日1回です。

getならリダイレクトとかでできると思いますが、POSTはどうすればいいんでしょうか?
0016nobodyさん05/03/10 15:40:29ID:???
>>15
CGI proxyとかそんな感じじゃないの
socketとかLWPとかで検索してみたら
001727105/03/10 17:35:54ID:0qqwutep
csvファイルを読み込み処理するプログラムを作っています。
csvが","のみで区切られているときは、split(/\,/,$file)
等で読み込みできます。
しかしcsvファイルがaaa,"bbb,ccc",dddのようになっている
時に上手く分割する方法を思いつきません。どおすればいいのでしょうか?
0018nobodyさん05/03/10 17:39:53ID:???
>>17
いったい区切り文字は何なんだよ。
," なのか ", なのか , なのか?
, なんならそれでできるはずだが
0019nobodyさん05/03/10 17:51:58ID:???
>>17
そんなあなたにPerlメモ
0020nobodyさん05/03/10 17:53:11ID:???
どこの271だw
0021nobodyさん05/03/10 17:57:38ID:???
Text::CSVってモジュールあったような。
0022nobodyさん05/03/10 18:06:19ID:???
>>12のでグルるとJapanese.pmってのがやたらと引っ掛かるけど、
DLしてみたら31万バイトもありやがる。これじゃ鯖が可愛そうな
んで、自分でそのときの必要に応じて作ったほうがいいと思うが
どうよ。漏れは>>10じゃないが。

0023nobodyさん05/03/10 18:12:19ID:???
>>10
こいうこと?
perl -e '$str="aaa,\"bbb,ccc\",ddd"; @str=split(/,\"?/, $str); print $str[1], "\n";'
bbb
00242305/03/10 18:13:06ID:???
ごみん、>>10→>>17
00252305/03/10 18:16:07ID:???
こうしないとダメだたorz
split(/\"?,\"?/, $str);
すかす変なデータやなぁ
0026nobodyさん05/03/10 18:24:49ID:???
どうせ split したあと "" => " の unescape とかもしなきゃいけないんだろうから、
Text::CSV か DBD::CSV を使っといた方が良さげ。
0027nobodyさん05/03/10 19:57:46ID:???
>>10
use String::Multibyte;

my $euc = String::Multibyte->new('EUC_JP');
my $kana = $euc->mkrange('ァ-ン');
my $hira = $euc->mkrange('ぁ-ん');
my $kanahira = $euc->trclosure($kana, $hira);

my $value = 'ヌルポ';
$value = $kanahira->($value);

--
perl 5.8以降
use encoding "euc-jp";

my $value = 'ヌルポ';
$value =~ tr/ァ-ン/ぁ-ん/;
0028nobodyさん05/03/10 19:59:47ID:0qqwutep
17です。(271は間違いです)
皆様ありがとうございます。

>>17
>いったい区切り文字は何なんだよ。
>," なのか ", なのか , なのか?
>, なんならそれでできるはずだが

区切り文字は,なのですがデータ中に,があった場合に
データがカンマやダブルクォートを含む場合には
"(ダブルクォート) で囲むというルールがあるので
困っていました。
結局下のようなモジュールを使用して解決しました。
http://www.nsknet.or.jp/~kamichan/prog/CSV_pm.html
0029nobodyさん05/03/10 20:18:10ID:???
>>18
CSVの意味わかってないだろおまえ
00302305/03/10 22:15:15ID:???
藻前、区切り文字の意味わかってねーだろ。
00312305/03/10 22:17:23ID:???
ってか、タブ区切りでもCSVってExcelで拡張子つくけど・・・
漏れはK3形式だな。>>29はK3てわかってねーだろ(w
0032nobodyさん05/03/10 22:30:19ID:???
相手がわかってないと思ったら知ったかぶりばかりしてないで説明すりゃいいじゃん。

ちょっとちょっかい出されたくらいで不毛な煽りで返すのは大人げないからやめれ。
00332305/03/10 22:31:42ID:???
何か勘違いしてたみたい。

(´Д`)
( 八)
 〉〉
スミマセンスミマセン
0034nobodyさん05/03/10 22:34:02ID:Lndb2Cof

■■■ お勧めレンタルサーバー ■■■

【ホームページを作るならここをあたれ!】

A:無難なサーバー。 お勧め!!  
 ttp://www.webspeed.ne.jp/  
 ttp://www.wadax.ne.jp/
 ttp://www.ktplan.ne.jp/
 ttp://www.wakwak.net/
 ttp://www.cpi.ad.jp/  
 ttp://solid.ad.jp/  

B:ある程度の障害は大目に。  
 ttp://www.binboserver.com/
 ttp://s55.net/
 ttp://www.j-navi.com/
 ttp://domainya.net/
 ttp://www.j-speed.net/main/
 ttp://www.cyberjellyfish.com/

0035nobodyさん05/03/11 03:18:48ID:???
>>34
ソケット使えて、しかも怒られないところ教えて
0036nobodyさん05/03/11 03:21:22ID:???
>>35
バカだな
0037nobodyさん05/03/11 07:04:53ID:???
おまえさんのアソコこそが最高のソケットじゃないか
0038nobodyさん05/03/11 08:49:18ID:???
>>37
キモ
00391505/03/11 11:01:25ID:BXH5EoKa
>>16
モジュールですか?探して見ます。
00401505/03/11 11:21:11ID:BXH5EoKa
http://search.cpan.org/~gaas/libwww-perl-5.803/lib/LWP.pm
今ここでLWPについて見てますが、英語であんまりわかりません。
とりあえずPOSTでクエリを送りつけるのはできるような感じですが、素朴な疑問があります。

例えば
http://www.hoge.com/test.cgi
というところにあるCGIが、ユーザからp=1という要求を受けた時に
http://www.hoge.com/file/
にユーザのIPアドレスをファイル名としたファイルを作成して、それの処理の正否を
ブラウザに出力するプログラムだったとします。

その時に
http://www.sample.com/send.pl
というのがcron起動でhttp://www.hoge.com/test.cgiにp=1という要求を送った場合には
しっかりhttp://www.hoge.com/test.cgiこのCGIはIP名のファイルを作成するのでしょうか?

cron起動だと出力内容を受け取れませんよね。もちろんsend.plの出力内容はとれますが、
send.plが何も出力せずにhttp://www.hoge.com/test.cgiにクエリを送った場合には
http://www.hoge.com/test.cgiこの出力内容もLinuxの方には受け取れない?それとも
受け取っているがtext/htmlのものは表示できないだけ?
0041nobodyさん05/03/11 11:43:03ID:wWuZgVEw
あるcgiの中で
 foreach (@QUERY){
 ($n,$v)=split(/=/);
 next if $n eq "data" && $v !~ /[^\d\%]/ && (@data = split('%',$v));
 $v=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
 $n=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
 ・・・

って書いてあったんですが、3行目のnextの部分が、どういう処理をしているのかがわかりません。

どなたか、日本語訳を教えてください。
■ このスレッドは過去ログ倉庫に格納されています