[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 08/25 20:07 / Filesize : 271 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:nobodyさん mailto:sage [2007/09/16(日) 19:49:43 ID:???]
Perlのコーディングで困ってる人のスレです。

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

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

最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

お勧めサイトは >2 以降

前スレ ttp://pc11.2ch.net/test/read.cgi/php/1180492441/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/

321 名前:nobodyさん [2007/10/12(金) 23:23:59 ID:w18ekEW+]
2ちゃんをバカにしてる利用者ほどその利用方法はひどいって法則誰かが言ってましたね。


322 名前:nobodyさん mailto:sage [2007/10/13(土) 00:20:58 ID:???]
プログラマーなんて趣味の延長だろ
24時間PCの前でカタカタやるのが楽しくなきゃやってられない


323 名前:nobodyさん mailto:sage [2007/10/13(土) 00:22:01 ID:???]
「CGI Perl 実務経験なし 初心者OK」で求人サイト検索すりゃいいべ。

324 名前:nobodyさん mailto:sage [2007/10/13(土) 00:26:24 ID:???]
>>321
その手の切り返しパターンもう飽きた

325 名前:nobodyさん mailto:sage [2007/10/13(土) 00:41:31 ID:???]
多分しっかりやらないとプログラムは楽しくない。

326 名前:nobodyさん mailto:sage [2007/10/13(土) 02:59:15 ID:???]
プログラマーは3桁残業にも耐えられる精神力+体力が必要。

年取ったら高確率で禿げそう。

327 名前:nobodyさん [2007/10/13(土) 15:06:53 ID:iKtPwiMH]
$a = 0000010
この文字列を数字に変える($ = 10)
簡単な表記はありますでしょうか?
sprintf使ってみたのですが上手くいきません

328 名前:nobodyさん mailto:sage [2007/10/13(土) 15:10:02 ID:???]
それは文字列じゃなくて8進数じゃ?
もし$a= "0000010"; なら 関数int使えばいい

329 名前:327 mailto:sage [2007/10/13(土) 15:13:51 ID:???]
すみません
自己解決しました
%dで



330 名前:318 [2007/10/13(土) 16:40:37 ID:5Vuk1MtC]
この雰囲気からすると日雇いなんかなさそうですね。
しかしこういう雰囲気からすると日雇いなんかありませんよね。
ちょっと待って日雇いなんかありませんよ。

実際いきなりそれを本職とするのは厳しい。
どういう雰囲気なのか味わいたいだけと考えるとそういう会社で働いてる人脈を作るのがよさそうですね。

ここの本職の方は会社と自宅以外にどこに行きますか?
明日とかきっと休日だと思いますけど、街へ行ったりするんですか?
家族持ちだとどうしても接点を取っても仲良くはなれなさそうだから。
独身がいい。女を紹介とかすればそれなりに仲良くなれる気がするんですが。
どうですかね。女は嫌いですか?

331 名前:nobodyさん mailto:sage [2007/10/13(土) 18:43:45 ID:???]
コーディング初心者質問スレであって、IT 土方向けの仕事斡旋スレではないんだよなぁ。

332 名前:318 [2007/10/13(土) 19:19:29 ID:5Vuk1MtC]
なるほど。
やはり頭は固いと。

333 名前:nobodyさん mailto:sage [2007/10/13(土) 21:12:30 ID:???]
釣りにしては程度が低すぎるんだが、これは素で言ってるのか?w
だとしたらやばすぎる。

334 名前:nobodyさん mailto:sage [2007/10/13(土) 21:40:38 ID:???]
スルーしとけよ

335 名前:nobodyさん mailto:sage [2007/10/13(土) 21:48:34 ID:???]
スレ違いという自分のミスを指摘され
馬鹿にされ悔しさのあまり慢心で書き
出した文章がこれ

336 名前:nobodyさん [2007/10/13(土) 21:53:08 ID:fl6REYk4]
IPアドレスから携帯かPCかを判断したいんですがどうやればいいんですか?

337 名前: ◆TWARamEjuA mailto:sage [2007/10/13(土) 22:06:27 ID:???]
ここで宣う前に「調べる」ことをお勧めいたします。

338 名前:336 mailto:sage [2007/10/13(土) 22:23:53 ID:???]
ググっても分からなかったので教えてもらえませんか

339 名前:nobodyさん mailto:sage [2007/10/13(土) 22:31:44 ID:???]
どうググったのですか



340 名前: ◆TWARamEjuA mailto:sage [2007/10/13(土) 22:35:33 ID:???]
(´-`).。oO(ググる≠調べる ググる=さがす ・・・と思うけれども。。。)

341 名前:336 mailto:sage [2007/10/13(土) 22:58:35 ID:???]
perl  IPアドレス 携帯か 判断
とかで検索したけど出てきませんでした

342 名前:nobodyさん mailto:sage [2007/10/13(土) 23:16:28 ID:???]
俺なら
perl 携帯 判定
でぐぐるな。

343 名前:nobodyさん mailto:sage [2007/10/13(土) 23:43:01 ID:???]
cpanでmobile ipとかで調べたらいいんじゃね?

344 名前:nobodyさん mailto:sage [2007/10/13(土) 23:50:32 ID:???]
>>342
それだとUA判定が多いんじゃ?

携帯 IPアドレス wiki で検索かけたらあったぞ

345 名前:336 mailto:sage [2007/10/13(土) 23:56:59 ID:???]
UAで判定できるなんて知らなかった。
IPアドレスより楽みたいですね。

346 名前:342 mailto:sage [2007/10/14(日) 00:01:08 ID:???]
>>344
そうだった。IPで判定したいんだったな。これは失礼。

347 名前:336 mailto:sage [2007/10/14(日) 00:06:15 ID:???]
UAで判定したら携帯ブラウザエミュだと携帯で判定されるのか。
IPアドレスの方が確実ってことかな?

348 名前:336 mailto:sage [2007/10/14(日) 00:16:57 ID:???]
携帯ってIPアドレスの種類どんどん増えてってたのか・・・
諦めてUAで判定します。

349 名前:nobodyさん mailto:sage [2007/10/14(日) 03:31:42 ID:???]
CPANにモジュールあるよ。



350 名前:nobodyさん mailto:sage [2007/10/14(日) 06:50:16 ID:???]
フォームって別ドメインのCGIスクリプトにも送信できたっけ?

351 名前:nobodyさん mailto:sage [2007/10/14(日) 07:54:33 ID:???]
>>349
それって DIS るのが生きがいの人のだっけ?

352 名前:nobodyさん mailto:age [2007/10/14(日) 07:54:34 ID:???]
open関数で開けるファイルって同じサーバーにある必要がありますよね?

別サーバーにあるファイルの情報を参照する方法はあるのでしょうか?
あるのでしたら方法をお教え下さいますようお願いします。

353 名前:318 [2007/10/14(日) 08:50:07 ID:a8OZDemC]
>>333-335
別にバカにしてるわけでもないのに、どうしてすぐそうムキになるかね。
逆に聞きたいが、自分は頭が固くないとでも思ってるのかい?


354 名前:nobodyさん mailto:sage [2007/10/14(日) 09:23:55 ID:???]
おまい自分が雇う側の立場になって考えてみな
日雇いで次の日に来るかどうか解らない奴を雇う?
スキルレベルも解らずに雇う?
つか、銭もらえるだけのスキルはあるのか?


355 名前:318 [2007/10/14(日) 12:02:37 ID:a8OZDemC]
>>354
>日雇いで次の日に来るかどうか解らない奴を雇う?
もしかして日雇い知らない?
プログラミングに関わらずどんな仕事でも適当なやつはいらないし雇わないよ。

>スキルレベルも解らずに雇う?
どんな職業でも同じ。

君は雇う側になったことがなさそうだ。

356 名前:nobodyさん mailto:sage [2007/10/14(日) 12:10:23 ID:???]
もう頭のおかしいヤツ相手にすんなよ

ま、いちばん悪いのは病院に連れて行かない親なわけだが

357 名前:nobodyさん [2007/10/14(日) 13:05:35 ID:9kSbwdFL]
画像付きのBBSに、アクセスログ記録を付けて使っています
ところが、特定の人だけ同時に3回記録されています
WindowsNT5.1 ブラウザが「Sleipnir」

たぶんブラウザのせいだと思いますが、
1回のアクセスでサーバに3回の動作をさせている事になります

一体どういう事なのでしょう? perlの書き方のせいでしょうか?

358 名前:nobodyさん mailto:sage [2007/10/14(日) 13:19:59 ID:???]
実際一番ムキになってるのは君じゃん(w

359 名前:nobodyさん mailto:sage [2007/10/14(日) 17:32:02 ID:???]
>>357
とだけ言われてもなぁ、多重コネクションで画像DLなんてよくある話だし。

で、どうしたいのさ?



360 名前:nobodyさん [2007/10/14(日) 18:22:36 ID:9kSbwdFL]
>>359
画像付きといってもファイルをたまにアップするだけで
ほとんどの利用はテキストの書き込みと、BBSの読み込みです
会員制サイトなのでアクセスの数は少ないです
サイトの関連ログが飛ぶトラブルがあって原因の一つと思います

まず、なぜこの環境の人がアクセスすると、同時刻に3回CGIが動作して
しまうのか、その原因を知りたいです
BBSのスクリプトでは、@の配列に入れたものをforeachで展開しながら
html表示します、アクセスログはこのプロセスに入れ込んでます

361 名前:nobodyさん mailto:sage [2007/10/14(日) 19:25:16 ID:???]
当人じゃないからわからんが、Javascriptで読み込みなおしするような
なんかをしてるんじゃね?
本人に聞いたらいいよ。

362 名前:nobodyさん [2007/10/14(日) 19:59:35 ID:RGItsPbe]
質問です。
CPANモジュールまとめサイトってないですかね?
いろいろググったけどそれらしきものがなかったので。

363 名前:nobodyさん [2007/10/14(日) 20:01:11 ID:RGItsPbe]
>>362
追記
日本語モジュール解説 まとめサイトです

364 名前:nobodyさん mailto:sage [2007/10/14(日) 20:37:02 ID:???]
perldoc.jp

365 名前:nobodyさん mailto:sage [2007/10/14(日) 20:42:54 ID:???]
basic認証が必要な自サイトのアクセスログからある部分だけ抽出して表示させたい
のですがまずcgiでアクセスするにはどうすればいいでしょうか?

366 名前:nobodyさん [2007/10/14(日) 20:49:09 ID:RGItsPbe]
>>364
そこで全部見れるんだ。
ありがとー
結構数すくないっすね

ありがっつ

367 名前:nobodyさん [2007/10/14(日) 22:03:04 ID:5YQaKvWD]
ブログのページからソースを取ってきてテキスト部分だけを取り出したいんですが

use LWP::Simple;
$buff = get("www.....");
print $buff; 
 
これでとりあえずソースだけは取ってこれたのですが、テキスト(記事)の部分だけ取り出す方法がわかりません。
よろしくお願いします

368 名前:nobodyさん [2007/10/14(日) 22:05:45 ID:RGItsPbe]
>>367
正規表現でちょちょいのどんじゃないですかね?
一度調べてみることをおすすめします。


369 名前:nobodyさん [2007/10/14(日) 22:15:05 ID:9kSbwdFL]
>>361
なるほど
当方MacなのでParallelsのWinに「Sleipnir」入れてみましたが、
プラグインかなにかなんでしょうね
有り難うございました



370 名前:nobodyさん mailto:sage [2007/10/15(月) 00:22:13 ID:???]
>>367
最近はこういうのが流行みたいです

Web::Scraper
search.cpan.org/~miyagawa/Web-Scraper/

371 名前:nobodyさん mailto:sage [2007/10/15(月) 00:43:20 ID:???]
>>369
ぐぐればトップに出てくるだろうに

372 名前:nobodyさん mailto:sage [2007/10/15(月) 00:44:21 ID:???]
ごめん、371は勘違い

373 名前:nobodyさん mailto:sage [2007/10/15(月) 01:06:24 ID:???]
nikonikoにもScraperネタある。
www.nicovideo.jp/watch/sm1237738


374 名前:nobodyさん mailto:sage [2007/10/15(月) 03:46:48 ID:???]
Web::Scraper が重いんだけど、どうにかならないの?

375 名前:nobodyさん mailto:sage [2007/10/15(月) 05:35:56 ID:???]
不満は作者に直接言う
改善案を出す
パッチ送る

376 名前:nobodyさん mailto:sage [2007/10/15(月) 12:15:17 ID:???]
男は黙って正規表現一択
scrAPIは女の様な軟弱者が使う物

377 名前:nobodyさん mailto:sage [2007/10/15(月) 14:20:07 ID:???]
youtubeに上げなおしてくれ。
ニコニコ垢なんかもってないし使いたくも無い。

378 名前:nobodyさん mailto:sage [2007/10/15(月) 21:15:14 ID:???]
カレンダーを作りたいと思っているんですが、ライブラリはありませんか?

379 名前:nobodyさん mailto:sage [2007/10/15(月) 22:05:51 ID:???]
>>378
search.cpan.org/search?m=all&q=Cal&n=100



380 名前:nobodyさん mailto:sage [2007/10/15(月) 23:41:31 ID:???]
処理の進捗状況を表示する一番よい方法は何ですか?
一定期間ごとにファイルに書き込むことしか思い付きません。



381 名前:nobodyさん mailto:sage [2007/10/15(月) 23:43:46 ID:???]
>>380
それでいいんじゃねーの
一番簡単だし

382 名前:nobodyさん mailto:sage [2007/10/16(火) 06:05:03 ID:???]
$| = 1;
って何かいいことあるの?

383 名前:nobodyさん mailto:sage [2007/10/16(火) 08:47:04 ID:???]
意味をわかった上で言ってるのか?
それとも意味を聞いてるのか?
とりあえず「perl コマンドバッファリング」あたりでググれ。

384 名前:nobodyさん mailto:age [2007/10/16(火) 10:56:39 ID:???]
自分が使ってるサーバーがLWPが使えないようなので、socketで別サーバーのファイル内容を拾って展開させようとしたんですが、
ローカルではちゃんと動くのにサーバーにアップすると凍ってしまいます。

リストにある複数のブログのrss取得して最新のブログ3件の記事表示、みたいなのがやりたいんですが、
サーバーがLWPの許可してないと難しいですか?
なにかいいやり方あったらお教えください。

385 名前:nobodyさん mailto:sage [2007/10/16(火) 11:11:22 ID:???]
fpingの出力値の数字だけを抜き出すプログラムを作りたいのですが、うまくできません。

input.txtという名前に下のようなfpingの出力を入れ
www.yahoo.co.jp:[0], 84 bytes, 18.1 ms (18.1 avg, 0% loss)
www.yahoo.co.jp:[1], 84 bytes, 23.2 ms (20.7 avg, 0% loss)


18.1
23.2と出力したいです。


bytes,より前を切り取り、ms ( も切り取ろうとして

$fping = "./input.txt";
open(A,"$fping")|| die "Can not open file";
@b = <A>;
close (A);

foreach $c(@b){
$c = grep(/(.*?)bytes, (\d{1,4}\.\d{1,2} ms) \(/,$c);
}

foreach $c(@b){

print "$c\n";

}

というプログラムを作ったんですが、うまくいきません。
どこを直せばいいでしょうか?

386 名前:nobodyさん mailto:age [2007/10/16(火) 11:26:03 ID:???]
>>385
$c =~ /bytes, (.*?) ms/;
$c = $1;

じゃだめなん?

387 名前:385 mailto:sage [2007/10/16(火) 12:33:21 ID:???]
>>386
レス遅れてすいません。
できました!
ありがとうございます!!
助かりました、ホントありがとうございます!!!

388 名前:nobodyさん mailto:sage [2007/10/16(火) 12:40:52 ID:???]
>>385
出遅れた…。
perl -lne "print /(?<=bytes, )(.+?)(?= ms)/" input.txt

389 名前:nobodyさん mailto:sage [2007/10/16(火) 13:22:24 ID:???]
>>384
どこの鯖使ってるか知らんが、LWP使えないようにしてるってことは
FWでoutboundが遮断されてる可能性が高く、だとすればどうしようもない



390 名前:nobodyさん [2007/10/17(水) 00:29:17 ID:7VxwUF8E]
SNSサイトにperlを使って接続って無理?

391 名前:nobodyさん mailto:sage [2007/10/17(水) 00:37:06 ID:???]
日本語でOK

392 名前:nobodyさん mailto:sage [2007/10/17(水) 01:05:09 ID:???]
>>390
WWW::Mixi
WWW::Myspace


393 名前:nobodyさん [2007/10/17(水) 08:03:38 ID:BedUMdjt]
おはようございます。

下のような流れのcgiで
複数のクライアントから接続された場合
変数$gHogeはクライアント毎に保たれますか?
それとも上書きされちゃいますか?

my $gHoge = ""; #クライアントからポストされた値が入る。
〜$gHogeを扱う長めの処理が続く。



394 名前:nobodyさん mailto:sage [2007/10/17(水) 08:36:36 ID:???]
>>393
実行される度にプロセスが作られるから上書きなんてされない

395 名前:393 mailto:sage [2007/10/17(水) 09:01:24 ID:???]
>>394
そうですか。期待通りの結果でよかったです。
朝早くからありがとうございました。

396 名前:nobodyさん [2007/10/17(水) 23:05:49 ID:7VxwUF8E]
>>392???
わからないので要望スレに逝ってきますorz

397 名前:nobodyさん mailto:sage [2007/10/18(木) 00:34:50 ID:???]
>>396
ググることもできないのか

398 名前:nobodyさん mailto:sage [2007/10/18(木) 01:48:20 ID:???]
モジュールがわからなくてSNSに接続しようとは・・・

399 名前:バターズ mailto:sage [2007/10/18(木) 22:40:14 ID:???]
コロンが二つならんでいるのは
ダブルコロンって言うんだよ



400 名前:nobodyさん [2007/10/20(土) 00:37:33 ID:Ja84SJeF]
Location ではtargetが指定できませんが、呼び出したときの
属性は生きるってどこかに書いてありました
どういうことでしょう

ssiのhtmlファイルの中に書いた、iframeのCGIまたは#exec cgiで
クッキー認証できなかったら全画面を再認証画面に飛ばしたいのですが、
やはり無理でしょうか?

401 名前:nobodyさん [2007/10/20(土) 05:18:19 ID:VLTga6QI]
print <<EOM;
<a href="hoge.html">hoge</a>
EOM

と、

print "<a href=\"hoge.html\">hoge</a>\n";

ではどちらの方が実行速度が速いですか?


402 名前:nobodyさん mailto:sage [2007/10/20(土) 06:50:46 ID:???]
>>401
ほぼ同じ。
boobar.hp.infoseek.co.jp/bench/print.txt

403 名前:nobodyさん [2007/10/20(土) 07:40:43 ID:VLTga6QI]
>>402さん、ありがとうございます。
大変参考になりました。


404 名前:nobodyさん [2007/10/20(土) 07:47:37 ID:x+Q9ulv4]
おはようございます。
以下のスクリプトについて質問です。
outフォルダ内の.txtファイル全てに対して
ある作業をするというスクリプトなんですが、
ファイルオープンのところでそんなファイルはないから
開けないというエラーが出力されます。

例:hoge.txtがある場合
OPEN ./out/hoge.txt file: No such file or directory at check line 22.

どこが間違ってるか教えてください。お願いします。
OSはWindowsXPです。

my @directories_to_search = ('./out/'); #対象のフォルダ
find(\&wanted, @directories_to_search);
sub wanted{
my $filePath = $File::Find::name;
my $find = index( $filePath, ".txt" ); #.txtを対象
unless ($find >= 0) {
return 1;
}
open FH_READ, "<$filePath"
or die "OPEN $filePath file: $!";
#ある作業をする。
close FH_READ;
}

405 名前:nobodyさん mailto:sage [2007/10/20(土) 08:21:11 ID:???]
>>404
22行目ってホントにopen文の所か?

406 名前:404 mailto:sage [2007/10/20(土) 08:33:09 ID:???]
>>405
え?open文のor dieのエラーメッセージが出力されているから
open文でエラーが発生していると思うんですが・・・

407 名前:nobodyさん mailto:sage [2007/10/20(土) 10:42:05 ID:???]
読んで字の如しとしか。
まさかmod_perlじゃないよな?

408 名前:nobodyさん mailto:sage [2007/10/20(土) 10:55:56 ID:???]
>>404
openに渡すのは「$filePath」じゃなくて「$_」
File::Findの解説ちゃんと読め

409 名前:半角全角が混在する行が一定の文字数を超えたら折り返すようにしたい [2007/10/20(土) 14:21:49 ID:g/E6yd0f]
メールフォームを作っています。同マシン上のsendmailを使って送るものです。

送信するメールの本文において、半角全角が混在する行の文字数を数え、
一定の文字数(例えば半角72文字、全角36文字)を超えた行だけを
強制的に折り返したいと考えています。

どのようにするのがよいでしょうか?

lengthはバイト数を返す関数なので、
全角文字の真ん中で折り返されると困ることになると考えてます。

もしかすると、長い行はsendmail側が自動で折り返してくれたりするのでしょうか?
それとも、何かほかの関数で簡単に数えたりできるのでしょうか?

なお、カスタマイズの自由度を考えて自作しているので、
「どこそこのメールフォームを使え」というのは勘弁してください。

以上、よろしくお願いします。



410 名前:nobodyさん [2007/10/20(土) 14:28:07 ID:o1wAy6B9]
eval ($hoge); の実行した値を変数に入れるにはどうしたらいいでしょうか?

$@ だと、evalでのエラーの値が入る
でも、実行値は...?

お願いします。



411 名前:nobodyさん mailto:sage [2007/10/20(土) 14:37:23 ID:???]
>>410
$result = eval($hoge);

じゃダメなん?($resultに実行結果、$@にエラーメッセージ)

参考
ttp://www.tohoho-web.com/wwwperl2.htm#eval

412 名前:nobodyさん [2007/10/20(土) 14:55:48 ID:o1wAy6B9]
>>411 その通り!ありがとう。
短い$hogeだと関数が成功した1しか返さないことがあるようでアレ違うわと思っていました。

>>409
ちょっと離れるので投げっぱなしになってしまいそうだけど
解答してくれる人が現れる間に考えていました


use utf8;
use Encode;

$str = '
eval ($hoge); の実行した値を変数に入れるにはどうしたらいいでしょうか?
$@ だと、evalでのエラーの値が入る
でも、実行値は...?

お願いします。
';

@stream = split(/\n/,$str); #最初に渡された文字列を 改行 を区切りとして @stream に配列として読み込んだ
map{ s{(.......)}{$1\n}g } @stream; #”8文字”単位で改行を入れてる
map{print encode(sjis,$_)}@stream; #各行を出力するときにsjisに変換してる

とか、なかんじでどうよ?
ただし1バイト文字の扱いがなんか変。

*たぶんutf8でけつまずいてるかんじ。


413 名前:nobodyさん mailto:sage [2007/10/20(土) 16:08:12 ID:???]
>>409
jcode.plかJcode.pmにjfoldってなかったっけ?

414 名前:409 mailto:sage [2007/10/20(土) 17:45:16 ID:???]
>>413
これです。こういう機能がほしかったんです。

jcode.plにはありませんでしたが、Jcode.pmにはありました。

これまで使っていたのがjcode.plだったのでが、
MIMEヘッダの機能も強化されているようなので、Jcode.pmに乗り換えようと思います。

どうもありがとうございました。

415 名前:nobodyさん mailto:sage [2007/10/20(土) 18:24:36 ID:???]
いいかげんにEncode使い方覚えろよ

416 名前:nobodyさん mailto:sage [2007/10/20(土) 19:12:39 ID:???]
>>415
じゃ、Encode.pmを使って折り返す方法を書いてあげれば?

417 名前:nobodyさん mailto:sage [2007/10/20(土) 19:44:36 ID:???]
Encode::decodeしてlengthでカウントしてみろよ

418 名前:nobodyさん mailto:sage [2007/10/20(土) 20:12:44 ID:???]
文字コードわかってんなら正規表現で簡単にできることだろ

419 名前:nobodyさん mailto:sage [2007/10/23(火) 05:26:38 ID:???]
全部正規表現でやるのは重そうだな。



420 名前:nobodyさん mailto:sage [2007/10/23(火) 14:21:34 ID:???]
正規表現で解決するならEncode要らんがな。

421 名前:nobodyさん mailto:sage [2007/10/23(火) 15:27:18 ID:???]
Perlのテキスト処理で質問させてください。
UTF8な日本語テキストの半角カナを全角にしたいと思ってEncode::JP::H2Zを使おうと思いました。
しかし、一部の文字(〜など)がEUCに変換する段階で?に変換されてしまい、困ってしまいました。
とりあえず、コードポイントにフォールバックできることがわかったので、
以下のように書いてその場をしのぎましたが、コードポイントを検索して文字に置換するという
作業が入ってしまい(しかも無駄に複雑)、どうもしっくりきません。
もっと簡単にする方法はありますか?

$text = encode("eucjp", $text, Encode::FB_PERLQQ); # EUCに変換
Encode::JP::H2Z::h2z(\$text); # 全角変換
$text = decode("eucjp", $text);
$text =~ s/\\x\{([0-9A-Fa-f]+)\}/pack("U*", hex($1))/eg; # コードポイントを文字に






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<271KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef