くだすれPerl(超初心者用)3
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2009/03/31(火) 22:20:27ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。
前スレ
くだすれPerl(超初心者用)2
http://pc11.2ch.net/test/read.cgi/php/1204488452/
関連スレ
Perlについての質問箱 39箱目
http://pc12.2ch.net/test/read.cgi/tech/1234181856/
Perlコーディング初心者質問スレ Part 59
http://pc11.2ch.net/test/read.cgi/php/1234752149/
【Perl上級者コーナーPart01】
http://pc11.2ch.net/test/read.cgi/php/1024741312/
0802nobodyさん
2010/04/02(金) 13:18:05ID:???参考にしてはいけないサイトをGoogleさんに教えてあげてくださいw
マルチポストではないと思うのだけど、
"Perlを勉強しているのですが正規表現についてよくわからないので教えてください。"
でググると情報が溢れていて且つ重複しているのが目につくよね。
0803nobodyさん
2010/04/02(金) 13:27:48ID:???まぁ重複してるといえばそうだけど、マルチポストではないはずだよ
0804nobodyさん
2010/04/02(金) 14:04:15ID:???検索エンジンの中の人も大変そう。
ところでダンプリストからキーワードAとキーワードBの区間を抽出して
元に戻すのは次のどちらがより良いんでしょう。
$_=~ s/([a-fA-F0-9]{2})/pack("C", hex($1))/ego;
$_=~ s/([a-fA-F0-9]{2})/chr(hex $1)/eg;
0805nobodyさん
2010/04/02(金) 16:17:20ID:???ファイル名にそのファイルが作成された日時(YYYYMMDDhhmmss.拡張子)が含まれているファイルがあります
ファイル名のフォーマットはそれで全て統一されています
一つディレクトリにそんなファイルが数百〜数千は存在しています
何年何月何日にいくつのファイルが作られたのかをCSVなりTSVなりで一覧化して出力したいです
例:YYYYMMDD,n(その日作られたファイルの総数)
このような処理で、何か一般的なアプローチの仕方はありますでしょうか?
キーワードだけでも何でも良いのでご教示をお願いします
0806nobodyさん
2010/04/02(金) 16:24:00ID:???$list{'2010-04-02'}++;
みたいにカウントしていけばいいのでは
0807nobodyさん
2010/04/06(火) 21:47:39ID:???perlでNet::Ping;を使いping監視をしてるのですが
ping(ホスト先, タイムアウト数)でping送信させてるのですがこれにpingサイズを指定して送るにはどうすればよいのでしょうか?
0808nobodyさん
2010/04/09(金) 23:18:29ID:???0809nobodyさん
2010/04/11(日) 02:01:29ID:???諸先輩方はPerlの各種変数をどのように体得したのですか?
0810nobodyさん
2010/04/11(日) 02:25:58ID:???0811nobodyさん
2010/04/11(日) 13:08:05ID:???0812nobodyさん
2010/04/11(日) 15:56:17ID:???0813nobodyさん
2010/04/11(日) 16:25:03ID:???ふむふむ。やはりくりかえしですよね。
ところで、どのくらいの期間、
そして、何回くらい「これどうやるんだっけ→perldoc→繰り返し」を
やりつづけてなんとなくつかめてきましたか?
なんと申しますか、個人差もあるのでしょうが、自分の言葉で理解できるまで
どのくらいかかるものなのか知りたくなりました。
0814nobodyさん
2010/04/11(日) 16:38:34ID:???特殊変数なんて覚えるだけ時間の無駄
0815nobodyさん
2010/04/11(日) 17:01:07ID:???他人に物事を教えたことのない奴ほど横道にそれたレスが格好いいと
思い込むようだ。
喩えれば>>811のようにやったこともない妄想をさもやってきたかのようにな。
0816nobodyさん
2010/04/11(日) 17:01:53ID:???w
0817nobodyさん
2010/04/11(日) 17:50:30ID:???これから頑張って覚えるぞ。
0818nobodyさん
2010/04/11(日) 17:55:01ID:???0819nobodyさん
2010/04/11(日) 22:46:17ID:???一緒に初めてのJavaScript第二版買っていたから混同しちゃった。
0820nobodyさん
2010/04/12(月) 01:11:54ID:???釣りなのは分かっているが...
$ は $calar(Scalar)
@ は @rray(array)
% は key/value(%)
特殊変数は実際には何個かしか使わないのですぐ覚えられる。
0821nobodyさん
2010/04/12(月) 02:20:48ID:u6Su4USy0823nobodyさん
2010/04/13(火) 02:56:07ID:???釣りではなくて真面目に入信したいのですよ。
すっごく分かりやすくて助かりました。
ありがとうございます。
>>822
氏ね〜〜〜
0824nobodyさん
2010/04/13(火) 03:16:21ID:???0825nobodyさん
2010/04/13(火) 13:27:56ID:???0826nobodyさん
2010/04/17(土) 09:49:46ID:???0827nobodyさん
2010/04/18(日) 11:40:17ID:???ここのdiff.cgiを入手できるところはありませんか?
0828nobodyさん
2010/04/18(日) 15:51:45ID:???そのdiff.cgiが欲しいならそれを作ったその人に言うしかないと思うけど、
やりたいことがただのdiffならString::Diffでできるよ
http://search.cpan.org/~yappo/String-Diff-0.04/lib/String/Diff.pm
0829nobodyさん
2010/04/19(月) 02:56:46ID:???ほう。面白いものがありますな。
できるものなら、これ[1]を応用して、このくらい[2]ことをやってほしいね。
[1]ttp://www.hyuki.com/aozora/diff.cgi
[2]ttp://www.cric.or.jp/db/article/taisyo.html
0830nobodyさん
2010/04/19(月) 04:27:27ID:???0831nobodyさん
2010/04/19(月) 17:12:59ID:???mixiかなりデザイン変わってるみたいだけど
0832nobodyさん
2010/04/19(月) 19:15:13ID:???0833nobodyさん
2010/04/20(火) 11:55:49ID:???だいぶいろいろ変わってるみたいだけど、なんかいい参考書ない?
0834仕様書無しさん
2010/04/20(火) 14:40:38ID:???俺よりレベル低い
0836仕様書無しさん
2010/04/22(木) 08:32:48ID:???ここはバカすぎてかわいそうだからperlやめて
0839仕様書無しさん
2010/04/23(金) 08:11:31ID:???獣の奏者エリンの闘蛇(トーダ)だろ?
シネ
0840nobodyさん
2010/04/23(金) 22:15:45ID:???それよりも超初心者を脱却したなら質問に答えてあげなよ。
0843nobodyさん
2010/04/23(金) 22:51:16ID:???WWW::Mixiも使えるんじゃね?
0848nobodyさん
2010/04/26(月) 21:53:59ID:???友人や愛の維持にはある程度のお金はかかるものだが
普通は友人や愛をお金で買うことはできない。
もし>>844さんが買えてるとしたら相手はゲイじゃねえの。
0849nobodyさん
2010/04/26(月) 21:57:06ID:???0850nobodyさん
2010/04/27(火) 01:26:44ID:???0851nobodyさん
2010/05/07(金) 22:36:42ID:gfyxirvM$reiに0が入る時の結果は0〜4
1〜5が入る時には0〜3
6〜10が入る時には0〜2
であっているでしょうか?
0853851
2010/05/08(土) 00:48:20ID:???$reiに0、5、10以外の数値が入って割り切れない数値の時には
3.8や3.6などの数値がINTによって小数点以下が切り捨てられるので
前記のようになるかと思ったのですが、思い違いでしょうか
0854nobodyさん
2010/05/08(土) 02:11:23ID:???5−1÷5=rand(4.8)=0〜4.79→int→0〜4
5−2÷5=rand(4.6)=0〜4.59→int→0〜4
5−3÷5=rand(4.4)=0〜4.39→int→0〜4
5−4÷5=rand(4.2)=0〜4.19→int→0〜4
5−5÷5=rand(4.0)=0〜3.99→int→0〜3
5−6÷5=rand(3.8)=0〜3.79→int→0〜3
・・・
0855nobodyさん
2010/05/08(土) 03:10:16ID:???知ったはずの順序を無視して脳内で妙な処理をしてました
ご丁寧にありがとうございました
0856nobodyさん
2010/05/08(土) 05:29:33ID:???問題はそれだけじゃないよ
数値が変わると返ってくる数値の期待値も変わるし
多分意図してない動作だと思うから忠告しとく
perl -e 'for(0..100000){ $tmp{int rand(5 - 4 / 5 )}++; } print "$_: $tmp{$_}\n" for sort keys %tmp'
0: 23773
1: 23960
2: 23832
3: 23657
4: 4779
0857nobodyさん
2010/05/08(土) 07:04:06ID:???0858nobodyさん
2010/05/08(土) 14:53:25ID:???0859nobodyさん
2010/05/08(土) 23:40:53ID:???ttp://****/hoge.cgi?uho.jpeg
hoge.cgiではなくuho.jpegに直接アクセスするというものを見かけますが、
これはどういう仕組みなのでしょうか?
サンプルを公開しているサイトなど教えていただければ幸いです
0860nobodyさん
2010/05/08(土) 23:42:53ID:???0861nobodyさん
2010/05/08(土) 23:55:29ID:???直接アクセス? uho.jp を表示しようと hoge.cgi を通してる時点で直接ではないよ?
もっと落ち着いて言葉を選んで質問を書いてみてはいかがだろうか?
0862nobodyさん
2010/05/08(土) 23:55:48ID:???0863nobodyさん
2010/05/09(日) 00:22:07ID:???0864nobodyさん
2010/05/09(日) 00:46:41ID:???ロケーションヘッダーでググれ
0865nobodyさん
2010/05/09(日) 01:30:14ID:???mod_rewrite (サーバーの設定確認が必要)
単なるリダイレクト
jpg を読んで print
html を出力して img で表示してるだけ
どれか好きな方法で良いかと
0866nobodyさん
2010/05/09(日) 01:50:15ID:???0867nobodyさん
2010/05/09(日) 04:21:34ID:???0868nobodyさん
2010/05/27(木) 00:59:35ID:???現在日本語を含むURLの場合、リンクが自動で貼ることができなく困っています。
例:http://hoge.com/~foo/にほん語.txt ←http://hoge.com/~foo/までしかリンクがされません。
パーセントエンコード?をすればリンクされるようですが、そうすると表示が↓
http://hoge.com/~foo/%82%c9%82%d9%82%f1%8c%ea.txt
のようになってしまい、見た目で何がリンクされているのかが分からなくなります。
これを何とか自動でできるようにしたいのですがどうすればいいでしょうか?
$string =~ s/([^=^\"]|^)((http|ftp):[!#-9\?=A-~]+)/$1<a href=$2 target=_blank>$2<\/a>/g;
または、ヒントがあるHPがあれば教えて下さい。
よろしくお願いします。
0869nobodyさん
2010/05/27(木) 01:03:07ID:???0870nobodyさん
2010/05/27(木) 01:24:27ID:???0871nobodyさん
2010/05/27(木) 22:38:08ID:???ttp://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%92%E3%83%A3%E3%83%AB%E3%83%88%E3%83%BB%E3%83%AF%E3%83%BC%E3%82%B0%E3%83%8A%E3%83%BC
# @UTF8環境
0872nobodyさん
2010/05/28(金) 19:54:25ID:BUacjjtF常に最初に文字列が出力される様にするには
どうすればよいのでしょうか?
-------------
あいうえお
-------------
という内容のファイルがあるとしたら
-------------
さしすせそ
かきくけこ
あいうえお
-------------
のように、逆順で書き込むには
どうすればいいんでしょうか?
0873nobodyさん
2010/05/28(金) 20:54:39ID:???0874nobodyさん
2010/05/28(金) 21:21:29ID:???print FH reverse @foo;
でいいでしょう。
0875nobodyさん
2010/05/28(金) 21:25:57ID:YjM9qGIs$i の数値が0.1でも小さいほど真になる確率が上がるという認識で合っているでしょうか?
0876nobodyさん
2010/05/28(金) 21:30:07ID:???つまり$iが0.1だとこの条件式は常に真
0877nobodyさん
2010/05/28(金) 21:36:29ID:YjM9qGIs3よりも2.9や2.8、4よりも3.9や3.8である時の方が0(真)になる確率が上がるのでしょうか?という質問でした
0878nobodyさん
2010/05/28(金) 21:46:28ID:???0879nobodyさん
2010/05/28(金) 21:49:12ID:???普通はこう書くけどね
まあ確率は上がるんじゃないかな
0880nobodyさん
2010/05/28(金) 21:56:22ID:???for (2.9, 2.7, 2.5, 2.3, 2.1) {
my $i = $_;
for (0..100000) { $result{$i}++ if !int(rand($i)) }
printf "%.1f: %d\n", $i, $result{$i};
}
割りとはっきり変わるね。
0882nobodyさん
2010/05/29(土) 14:20:04ID:???ありがとうございました!!完璧でした!
心からお礼を言いたいです。
>>873さんもありがとうございました!
0883nobodyさん
2010/06/07(月) 09:42:41ID:???そのあとマスタリングへ進む予定なのだけれど、初めて5版(2009)と続初めて改訂版(2006)は間に3年の差がある。
Versionの差が大丈夫なのかと気になっています
0884nobodyさん
2010/06/07(月) 17:34:29ID:???その決まった行だけ呼び出して、決まった行だけ上書きするにはどうしたらいいのでしょうか?
決まった行だけ呼び出すのはできましたがそこから上書きするとその行以外が空白になってしまいます
0885nobodyさん
2010/06/07(月) 18:19:14ID:???決まった行以外も読み込んで書き出すか、DB使ってください。
1行のデータ量が固定長ならseekを使う手もありますが、正直お勧めしません。
>>883
2006年版なら問題ないです。
0886nobodyさん
2010/06/09(水) 01:38:21ID:???大丈夫なんですね。
初めて5版はperl5.10に対応したよんって書いてあったので、
その前に出された続初めて改訂版では5.10とそれ以前での変更された仕様で躓かないかと心配していました。
0887nobodyさん
2010/06/10(木) 04:26:17ID:???5.8.8と5.10.0の間で、互換性が保てなくなるほど大きな仕様変更はあまり無い。
どうしても心配ならここを読んでおけば大丈夫だよ。
http://fleur.hio.jp/perldoc/mix/pod/perl5100delta.mix.html
0888nobodyさん
2010/06/14(月) 14:15:33ID:uA0hCtuDPerl 5.8.8で取得するにはどうすればよいでしょうか?
0889nobodyさん
2010/06/14(月) 15:20:22ID:???for my $name ($CGI->param) {
print "$name = $CGI->param($name)\n";
}
0890nobodyさん
2010/06/14(月) 16:19:19ID:???0891nobodyさん
2010/06/14(月) 18:51:04ID:???0892nobodyさん
2010/06/18(金) 17:00:02ID:???それからフォルダ内に出力された画像全てのサムネイルを
自動的に別フォルダへ生成されるようにしたいと考えています。
ImageMagickというのを使えばいい、という所までは解りましたが
どうするのがよいのでしょうか?
ttp://www.aimix.jp/cgi/accimagemagicksz.html
ここのとかをみて試してみましたが
画像サイズは変わってもInternal server errorがでたりとかでちんぷんかんぷんです
0893nobodyさん
2010/06/18(金) 17:02:17ID:???0894nobodyさん
2010/06/18(金) 17:03:15ID:???だから、ばれたらまずい部分を伏せたエラーログをよろしく
0895nobodyさん
2010/06/18(金) 17:09:14ID:???そんなトコな気がしてきた
0896nobodyさん
2010/06/18(金) 17:38:32ID:???サムネイル作るならResizeじゃなくてThumbnail使った方がいいよ
0897nobodyさん
2010/06/22(火) 00:14:54ID:???100行ほどのテキストデータ($textdata)で、ある文字が含まれていたら行を削除
するようにはどのように処理をすればいいでしょうか?
データ形式は以下のとおりです。
あああ 20100622 00:05 いか 001 002 003 004
いいい 20100622 00:05 たこ 001 002 003 004
ううう 20100622 00:05 かに 001 002 003 004
・・・(100行)・・・
よろしくおねがいします。
0898nobodyさん
2010/06/22(火) 01:08:27ID:???my @lines = split("\n", $textdata);
$textdata = '';
for my $line (@lines) {
unless ($line =~ m/ある文字/) {
$textdata .= $line . "\n";
}
}
0899nobodyさん
2010/06/22(火) 02:58:09ID:???0900nobodyさん
2010/06/29(火) 12:10:40ID:???#フォームからデータを受け取る
read(STDIN, $date, $ENV{'CONTENT_LENGTH'});
#データを分解して$valに格納
($name,$val) = split(/=/, $date);
#空白の場合はエラーページへ
if($val eq ''){
print "LOCATION: error.html\n\n";
}
#55555の場合はTOPページへ
elsif($val eq "55555"){
print "LOCATION: ../../index.html\n\n";
}
else{
print "<html>\n";
print "<head><title>入力</title></head>\n";
print "<body>\n";
print "<p>入力されたメッセージは $val です。</p>\n";
print "</body>\n";
print "</html>\n";
エラーページとTOPページへ飛ばす処理は単体では動作したのですが、if〜とすると500エラーになります
どこがおかしいか教えて下さい
宜しくお願いします
0901900
2010/06/29(火) 14:35:51ID:???print "Content-Type: text/html\n\n";
が抜けていただけでした・・・失礼しました
レス数が900を超えています。1000を超えると表示できなくなるよ。