Perlコーディング初心者質問スレ Part 47
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/03/01(水) 15:39:31ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
過去ログやお勧めサイトは >>2-10
0482nobodyさん
2006/04/03(月) 21:04:04ID:???0483nobodyさん
2006/04/03(月) 22:31:17ID:???0484475
2006/04/03(月) 22:40:14ID:OQWMmdli>>479
参考になるサイトを教えていただきありがとうございます。
"蟹"はsjis16進で"8a49"
49はASCIIで"I"だから・・・
ということですね。
てか、自分が悩んでいる内容が全然別のことだと気付きました。
申し訳ないですが、もう一度質問させてください。
Jcodeの質問です。5.6なので、Encodeモジュールが使えません。
当方、スクリプトの文字コードはUTF-8で書いてますが、
use URI::Escape;
my $str = uri_escape(jcode("毛蟹")->sjis);
print $str;
の結果は
%E3%AD%9B%E8%9F%B9
となってしまいます。
試しに
print getcode($str);
をしてみると、空文字?が返ってきます。
print getcode("毛蟹");も空文字が返ります。
print getcode("毛蟹じゃあ!");は、utf8が返ります。
文字コードの変換がきちんとおこなわれていないようなのですが、
"毛蟹"をきちんとsjisへと変換させる方法はないでしょうか?
ちなみに、さっきから毛蟹毛蟹言ってますけど
その文字列はユーザが入力する文字列と考えてください。
0485475
2006/04/03(月) 22:41:23ID:OQWMmdliuse Jcode;
が抜けてました
0486nobodyさん
2006/04/03(月) 23:07:47ID:???use URI::Escape;
use Jcode;
my $convstr = '毛蟹';
my $str = uri_escape(jcode($convstr,'utf8')->sjis); # icodeを指定する
print uri_escape($convstr),"\n"; # %E6%AF%9B%E8%9F%B9
print $str; # %96%D1%8AI
まだ「毛蟹」で笑ってる自分が嫌です。
0488nobodyさん
2006/04/03(月) 23:40:37ID:???0489nobodyさん
2006/04/03(月) 23:51:28ID:???向こう1週間のおかずを決めるアプリを開発中なためです。
0490nobodyさん
2006/04/03(月) 23:52:20ID:???つ【\20000】
0491460
2006/04/03(月) 23:53:46ID:???PurePerl版でパソコンの上で動かせるようにはなりました。
プログラムの別の部分ですが、再帰呼び出しというのも便利で、勉強になりました...
ありがとうございました。
0492nobodyさん
2006/04/03(月) 23:55:29ID:???0493nobodyさん
2006/04/04(火) 00:09:48ID:???ばかにすんなよ!
0494nobodyさん
2006/04/04(火) 00:29:28ID:???ばかにすんなよ!
0495nobodyさん
2006/04/04(火) 00:32:56ID:???0496nobodyさん
2006/04/04(火) 01:01:34ID:???AN HTTPで試したら500エラーてどういうコトなんだろうか('A`)
文字コード・Perlパス いろいろ試してすでに2週間・・・
0497nobodyさん
2006/04/04(火) 01:30:52ID:???0498nobodyさん
2006/04/04(火) 01:47:10ID:???検索中のページには問題があるため表示できません。
--------------------------------------------------------------------------------
次のことを試してください:
127.0.0.1 ホーム ページを開き、 必要な情報へのリンクを探してください。
[更新] ボタンをクリックするか、後でやり直してください。
[検索] ボタンをクリックして、インターネット上の情報を検索してください。
関連したサイトの一覧 も表示できます。
HTTP 500 - 内部サーバー エラー
Internet Explorer
しか出ないんだ ごめん(´・ω・`)
トレースのログ 晒したらわかるかな?
0499nobodyさん
2006/04/04(火) 01:51:42ID:???GET /cgi-bin/uhouho.pl HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 127.0.0.1
Connection: Keep-Alive
>>> s=444: Tue Apr 04 01:49:26 2006 >>>
HTTP/1.1 500 Server Error
MIME-Version: 1.0
Server: AnWeb/1.42n
Date: Mon, 03 Apr 2006 16:49:26 GMT
Content-Type: text/html
Content-Length: 196
<HTML><HEAD><TITLE>Error </TITLE></HEAD>
<BODY>
<H1>Error 500</H1>
CGI エラー - CGIを実行できません <HR><ADDRESS><a href="http://www.st.rim.or.jp/~nakata/">AnWeb/1.42n</a></ADDRESS>
</BODY></HTML>
0500nobodyさん
2006/04/04(火) 01:56:50ID:???落ち着いて↓これ読んで試してください。>>498-499みたいのは貼られても困る。
http://pc8.2ch.net/test/read.cgi/php/1104624784/2
Un*x→Winだったらsymlinkとかでばくばくコケるのかな。
0502nobodyさん
2006/04/04(火) 03:19:49ID:???スマソ あんまこの板こないからよくわからんけどスレ違いだったかな(´・ω・`)
もう一度 落ち着いて試してみる �d
0503nobodyさん
2006/04/04(火) 09:52:27ID:???0504nobodyさん
2006/04/04(火) 13:19:03ID:???どうしたらorz
(´・ω・)がいしゅつ?
0505nobodyさん
2006/04/04(火) 13:25:40ID:???いろいろとやり方はあるだろうけど、もっと、用途というか、
どういう環境でどんなふうにやりたいかとか詳しく書いた方が答えやすいかも。
0506nobodyさん
2006/04/04(火) 13:47:30ID:???削除する日付はどう指定するのか
0507nobodyさん
2006/04/04(火) 14:05:40ID:0uJ/AX+Fごく一部のユーザーからのフォームデータが欠けているのです。
そのうちの一人と連絡がとれ、そのユーザーがMacユーザーである事が確認できました。
Macユーザーのフォームデータは受け取れないというような事例はあるのでしょうか?
コードはS_JISで書いてます。
0508nobodyさん
2006/04/04(火) 14:12:43ID:???0509nobodyさん
2006/04/04(火) 14:44:06ID:???0510507
2006/04/04(火) 15:32:54ID:0uJ/AX+F0511nobodyさん
2006/04/04(火) 15:33:23ID:???0513nobodyさん
2006/04/04(火) 16:09:53ID:???いろいろ考えられるけど、
1. そもそもCGI不許可の鯖
2. 特定のディレクトリに置かないと動かない(例:cgi-bin等)
3. .htaccess ファイルの記述ミス。ちゃんとCGI実行されるようにする。
4. スクリプトファイルの文字コードがsjis になっちゃってたりする。eucにする。
5. perl インタプリタのパスが間違っている。1行目を見直す。
6. 出力で、最初に"\n"を出力していない。
7. パーミッションの設定ミス。701、755等にしてみる。
まぁ、自宅鯖で動いているなら 6 はなさそうかな。
まず、以下のようなごくシンプルなスクリプトで試してみ。
---
#!/usr/bin/perl
print "\nOK!";
0514nobodyさん
2006/04/04(火) 18:33:02ID:???$a = $array[0]{abc}[1];
数字だけならこんな↓感じの代入でできたんですけど。
@array = ( [ ["a", "b"], ["c", "d"] ],
[ ["e", "f"], ["g", "h"] ],
[ ["i", "j"], ["k", "l"] ],
[ ["m", "n"], ["o", "p"] ] );
0515nobodyさん
2006/04/04(火) 18:48:07ID:???0517nobodyさん
2006/04/05(水) 06:02:50ID:???普通にハッシュ使えばいいのでは?
my @array = (
{abc=>[1,2,3], def=>[4,5,6]},
{abc=>[7,8,9], def=>[1,2,3]},
);
http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perldsc.html
0519nobodyさん
2006/04/05(水) 19:24:19ID:???このモジュールの宣言をしないとflockは使えないんですか?
宣言無しでflockの1,2,8使えてるのは
evalでトラップされてるからなのでしょうか?
0520nobodyさん
2006/04/05(水) 19:45:46ID:???flock FH, LOCK_EX; # 定数を使う場合は「use Fcntl;」が必要。
宣言無しでflockの1,2,8が使えてるのは、定数を使ってないから。
0521nobodyさん
2006/04/05(水) 20:11:28ID:???ありがとうございます。
調べても分からなかったんですが、
定数を使うと何か他の処理ができるようになるんですか?
0522nobodyさん
2006/04/05(水) 20:36:20ID:???はつみみです。
0524nobodyさん
2006/04/05(水) 20:59:48ID:???だけ?
0525nobodyさん
2006/04/05(水) 21:13:52ID:???0526nobodyさん
2006/04/05(水) 21:28:35ID:???webprog行けよ・・・
って思ってたらここがwebprog板だった
わろす♪
0528521
2006/04/05(水) 21:38:06ID:???そうですか。
ありがとうございました。
>519でモジュールと言いましたがプラグマの間違いです。
0529nobodyさん
2006/04/06(木) 05:19:58ID:???package Fcntl;
=head1 NAME
Fcntl - load the C Fcntl.h defines
=head1 SYNOPSIS
use Fcntl;
use Fcntl qw(:DEFAULT :flock);
=head1 DESCRIPTION
This module is just a translation of the C F<fcntl.h> file.
0530nobodyさん
2006/04/06(木) 09:03:53ID:???プラグマは「useするとプログラムの挙動が変わるモジュール」のことだからの。
0531nobodyさん
2006/04/06(木) 12:47:22ID:???それなら両方正解か
0532nobodyさん
2006/04/06(木) 13:06:07ID:???0533nobodyさん
2006/04/06(木) 13:36:04ID:???0534nobodyさん
2006/04/06(木) 13:36:42ID:???ttp://search.cpan.org/~nwclark/perl-5.8.8/pod/perlglossary.pod
・プラグマ
実用的なヒントや指示がコンパイル時に受け取られる(時に無視すれる)標準モジュールです。
プラグマは全て小文字で命名されます。
で、訳あってる?英語苦手だから自信ない(´・ω・`)
0536nobodyさん
2006/04/06(木) 18:12:22ID:9PXV35kY場所探すのが大変です
これを部分部分に分けてタブで切り替えて作業するとか、
そういうのありませんかね?
あったら便利だなぁと思ったもので
0537nobodyさん
2006/04/06(木) 18:15:20ID:???Perl書くのにどんなエディタ使ってる?
http://pc8.2ch.net/test/read.cgi/php/1014357485/
色々ある
0538nobodyさん
2006/04/06(木) 22:07:28ID:???掲示板の今見ているレスから10件前のを表示させようと思ったのですが、
「自分の今見ているところを取得して、そこから10件引いたリンクをつくる」(当たり前のことですが)まで考えました。
ですが、自分の今見ているレス(何番から何番)を「取得するにはどうしたらいいのでしょうか?
0539nobodyさん
2006/04/06(木) 22:16:28ID:???言葉どおりに捉えるなら、「自分が今見ているレス」なんて分かるはずもなく。
むしろ「自分が今見ているレス」をどうやって指定するかがミソ。
指定できれば、あとは10件遡るだけですね。
こういうのは決まったやり方があるわけじゃなくてアルゴリズム次第なんで
考えるのが面倒くさいとか分からないとかのレベルじゃPerlに限らず何にも作れません。
0540nobodyさん
2006/04/06(木) 22:20:49ID:???まだ構想段階でその機能を付けようと思ったのか
0541nobodyさん
2006/04/06(木) 22:27:55ID:???そうだったんですか・・。
すみませんでした。ありがとうございました。
>>540
一応配布されているのを改造しようと・・。
2ちゃんねるとか他のをみていると
スレ一覧からスレを見るとスレ番/|10で、前を押すと/988-998とかになっているので、簡単にできるのかなーと思ってました。
0542nobodyさん
2006/04/06(木) 22:40:35ID:???例えば「20〜30を表示」してる時に、そこに「10〜20を表示させるリンク」を仕込めるのは自明。
改造という視点なら>>2
0543nobodyさん
2006/04/06(木) 22:44:59ID:???0544nobodyさん
2006/04/06(木) 22:48:15ID:???改造は別でしたか、すみませんでいsた。調べてみます。
情報ありがとうございました。
>>543
あれ・・・?たしかに・・。
0545nobodyさん
2006/04/07(金) 03:14:09ID:???具体的には、
1010 1000 0001 0011
1100 1101 1000 1110
---------------------
0110 0101 1001 1101
こういった計算ができないかということでございます。
ご教示いただけますと幸いです。
0546nobodyさん
2006/04/07(金) 03:41:32ID:???とりあえずしね。
0547nobodyさん
2006/04/07(金) 17:48:12ID:???教えてください
0548nobodyさん
2006/04/07(金) 19:27:23ID:???gifcatで検索
>>504です。レス遅れてすいません
テキストをフォームに書いてそれをアップロードするという内容なんですが
そのアップロードしたテキストを30日後に削除したいんです
0550nobodyさん
2006/04/07(金) 19:32:03ID:???調べてみたのですがコードを載せている所が見当たらなくて...
よろしくお願いします
0552550
2006/04/07(金) 19:53:52ID:???コードを教えていただくのが早いと思ってます。
コードが分かればアルゴリズムは自分で解析できると思います。
0553nobodyさん
2006/04/07(金) 20:15:40ID:???本だか雑誌だかはあるはずだよ。数学系に特化したやつ。
コードはCだったような気がするけど。
0554nobodyさん
2006/04/07(金) 20:26:44ID:???どうもありがとうございます。
>>549
gdとimというものを使用した画像連結例などございましたらご教示ください
0556nobodyさん
2006/04/07(金) 20:52:13ID:???foreach ( split(/\n/, $mbody) ) {
&jcode'convert(*_, 'jis', 'sjis');
print MAIL $_, "\n";
}
0558nobodyさん
2006/04/07(金) 21:05:39ID:???http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perldata.html#Typeglobs_and_Filehandles
http://mikeneko.creator.club.ne.jp/~lab/kcode/jcode.html#h2-2
0560nobodyさん
2006/04/07(金) 21:19:43ID:???この型グロブというのを使わないとすれば、>>556はどのような記述にすればいいのでしょうか?
0561nobodyさん
2006/04/07(金) 21:23:12ID:???0562nobodyさん
2006/04/07(金) 21:30:33ID:???jcode.pl自体が古いんですよ。
この辺を読んでおくといいのかな?今はどうするもんなのかについても触れられてるよ。
ttp://openlab.jp/Jcode/index-j.html
0564nobodyさん
2006/04/07(金) 21:36:51ID:???連立一次方程式といえば行列が思い浮かぶな。
ttp://search.cpan.org/~ulpfr/Math-Matrix-0.5/Matrix.pm
use Math::Matrix;
my $m = Math::Matrix->new(
[ 1, 1, 1, 6], # x + y + z = 6
[ 2, -1, 4, 12], # 2x - y + 3z = 9
[ 5, 6, -5, 2], # 5x + 6y - 5z = 2
);
print $m->solve();
こっちのほうにはあまり詳しくないから一般的な解き方は知らん。スマン。
0568nobodyさん
2006/04/08(土) 01:42:34ID:???0569nobodyさん
2006/04/08(土) 01:51:51ID:???0570非568
2006/04/08(土) 01:55:19ID:???日本語で解説してるとこのほうがはるかに内容充実してるんだな
先にこっち見ればよかった
perlと関係ないけど
0572550
2006/04/08(土) 23:38:24ID:???>>553
perlスクリプト中で方程式の解が必要になってくるんです。
perl以外の言語で探すとひとまず見つかりました。
本の方も調べてみます。
>>564
行列の方は目に入っていたのですが、時間がかかるという話を読んで避けていました。
実際の所どうなんでしょう?
0573nobodyさん
2006/04/08(土) 23:41:36ID:???外部コマンド呼ぶなり、ライブラリ使って XS 書くなり...
0574nobodyさん
2006/04/09(日) 18:45:31ID:yjpSMuEBたとえば$test = "filename";
という変数をみて
$filenameという変数を作成したいのです。
$$testです。
エスパーの方お願いします。
0575nobodyさん
2006/04/09(日) 18:48:13ID:???0579nobodyさん
2006/04/09(日) 20:04:09ID:???0580nobodyさん
2006/04/09(日) 20:19:36ID:???■ このスレッドは過去ログ倉庫に格納されています