くだすれPerl(超初心者用)3
レス数が950を超えています。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/
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";
が抜けていただけでした・・・失礼しました
0903nobodyさん
2010/07/02(金) 10:33:45ID:???初めてのPerl5版、って買ったんだけど、
サブルーチンがどうとか関数がどうとかループだ配列だってそっからまったく分からんのです
0904nobodyさん
2010/07/02(金) 14:35:29ID:???その本持ってるけど、かなり判りやすかったよ。
巻末の練習問題の解答を打ち込んで試さないと理解しにくいかも。
0905nobodyさん
2010/07/03(土) 20:35:04ID:???本には、改行文字を削除します と書いてあったのですが
改行文字を削除したから何が変わるのかわかりません
こんなバカでもわかるように説明できませんか?
0906nobodyさん
2010/07/03(土) 20:41:02ID:???テキストエディタとかでよく見るエンターの記号の奴を消すってこと
0907nobodyさん
2010/07/03(土) 21:22:41ID:???my $data = "A[TAB]B[TAB]C[TAB]D[CRLF]";
っていうデータがあったとして、
my @array = split(/\t/, $data);
としたとします。
んで、
if($array[3] eq 'D'){
〜ほにゃらら〜
}
という処理をした場合、$array[3] は D[CRLF] っていうデータなので $array[3] は TRUE にはなりません。
ほら、改行があると面倒くさいでしょ?
だから chomp で改行を切り落とすってワケです。
0909nobodyさん
2010/07/12(月) 13:20:02ID:???:q! で終了したあとの指示で
「 シェルプロンプトが出てきたら、このチュートリアルを始める為ににコマンドをタイプします。」 (vimtutorと打てと書いてあります)
と書いてああるのですが、なにも出てきません
なにがいけないのでしょう
win viata 32 版です
0910nobodyさん
2010/07/12(月) 17:13:52ID:???vim Part3 - ソフトウェア板@2ch
http://pc12.2ch.net/test/read.cgi/software/1224769266/
0911nobodyさん
2010/07/12(月) 17:52:08ID:???まだ足りない準備があったのか
0912最強
2010/07/12(月) 19:11:22ID:OYobocmNhttp://oreilly.com/catalog/pperl3
↑と書いてあったんだけど
URL飛んでもサンプルコードがダウンロード出来る場所ないんだけど
どこで手に入れるの?サンプルコードおしえて
0913最強
2010/07/12(月) 19:16:06ID:OYobocmN0914nobodyさん
2010/07/29(木) 19:44:51ID:CAEHWe/luse Socket;
use FileHandle;
my $id = 'test';
my $line;
my $host = "www.hogehoge.com";
my $port = "80";
my $iaddr = inet_aton("$host") or die "connection failed.";
my $sock_addr = pack_sockaddr_in($port, $iaddr);
socket(SOCKET, PF_INET, SOCK_STREAM, 0);
connect(SOCKET, $sock_addr) or die "connectError";
select SOCKET;
$|=1;
select(STDOUT);
print SOCKET "GET /hoge.php?id=$id HTTP/1.1";
print SOCKET "Host:$host";
shutdown(SOCKET, 1);
while($line = <SOCKET>){
print $line;
}
close SOCKET;
てな感じでGETしてるんだけど、何も送信されていないっぽい。
色々調べてるとHTTP/1.1のあとに本来は\r\nで改行を入れた方がいいみたいなんだけど、
入れるとなぜかBad Requestが返ってきます。\nのみにした場合も同じ。
送信できないのはまた別の原因かもしれないのですが、Perl自体不慣れなものでよくわからなくて・・・
原因の可能性がわかる方いたら、お願いします。
0915nobodyさん
2010/07/29(木) 20:24:47ID:???0916nobodyさん
2010/07/29(木) 20:27:24ID:???行末に改行が無いだけと思うよ
0917nobodyさん
2010/07/29(木) 20:28:05ID:???改行が無いから
print SOCKET "GET /hoge.php?id=$id HTTP/1.1Host:$host";
になっちゃってる
0918nobodyさん
2010/07/29(木) 20:42:17ID:???print SOCKET "Host:$host\r\n";
print SOCKET "\r\n";
最後に空行が必要<HTTP
0919nobodyさん
2010/07/29(木) 21:54:27ID:???>>914の後ろの方にも書いたのですが改行を入れると400 BadRequestが返ってきます。。
0921nobodyさん
2010/07/29(木) 23:22:36ID:???ちゃんと198を読んだか?最後は改行2つだぞksg
0922nobodyさん
2010/07/30(金) 00:03:00ID:???use FileHandle;
my $id = 'test';
my $line;
my $host = "www.google.co.jp";
my $port = "80";
my $iaddr = inet_aton("$host") or die "connection failed.";
my $sock_addr = pack_sockaddr_in($port, $iaddr);
socket(SOCKET, PF_INET, SOCK_STREAM, 0);
connect(SOCKET, $sock_addr) or die "connectError";
select SOCKET;
binmode SOCKET; ← 改行コードの内部変換を考えるのが面倒なのでこれで逃げる $/ を設定してもいいかも。 それか \x0D\x0A で改行させるとかとか
$|=1;
select(STDOUT);
print SOCKET "GET / HTTP/1.1\r\n";
print SOCKET "Host:$host\r\n";
print SOCKET "\r\n";
shutdown(SOCKET, 1);
while($line = <SOCKET>){
print $line;
}
close SOCKET;
これで受信完了
0923PHPヲタ
2010/08/05(木) 16:57:35ID:lfryc7FALWPじゃないとかwwwwwwwwwふるっwwwwwwwwwwwwww
0924nobodyさん
2010/08/13(金) 03:38:13ID:VdoCI/2sprint "$ENV{'HTTP_USER_AGENT'}¥n";
書いてみると、クライアント情報でなく長い桁の数字が
表示されます。
正しく取得できていません。他の環境変数は大丈夫だし、
試しにそれだけのperlを書いてcgi設置してみると
動作しています。
なぜなんでしょうか?
0925nobodyさん
2010/08/13(金) 12:51:32ID:???初っ端で別の変数に入れてから表示してみては?
0926nobodyさん
2010/08/13(金) 13:40:24ID:v7edkYYK書いてくれなきゃ分かりませんよん。
0927nobodyさん
2010/08/13(金) 14:48:00ID:???書いたスクリプトは ここのこれです
http://cgi-design.net/prog/bbs/bbs39/index.htm
#!/usr/bin/perl
そのあとに
$brows = $ENV{'HTTP_USER_AGENT'};
として、あとで表示させてみるのですが
本来
「Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; ja-JP-mac」
となるべきなのに
「18446744073709551615」と表示されます。
もちろんこの変数は使ってませんし、htm中に直接書いても同じ。
0928nobodyさん
2010/08/13(金) 15:22:23ID:v7edkYYKprint "</center></body></html>\n";
の直前で表示させたけど、ちゃんと表示されますよ。
あと、strict でないスクリプトなので使わないほうがいいかも
サーバーのエラーログが肥大化する原因なので・・・
0929nobodyさん
2010/08/13(金) 15:25:00ID:v7edkYYK1回の実行で1131件のエラー発生してる
strict してみるとエラーが多すぎるのか固まるまであるw
0930nobodyさん
2010/08/13(金) 15:31:11ID:???0931nobodyさん
2010/08/13(金) 17:19:56ID:???影響していたようです。
検証有り難うございました。
確かにレガシーですが、永遠の日曜Web管理人の私などには
分かりやすいのです。
ただ、tableが多いのにサブルーチンで使い回ししまくりなので、
何処で閉じてるのかもう何がなんだか分かり難いのが最大の難点です。
0932☆忍者Perl☆ ◆M5ZWRnXOj6
2010/08/13(金) 17:27:14ID:LkLBXJmk寄生虫のように脳味噌を取り付かれて、一定時期になったらweb言語をやりだすという
ハリガネムシに寄生されたカマキリみたいだねwwwwwwwwwwwww
0933nobodyさん
2010/08/13(金) 17:29:06ID:v7edkYYK0935nobodyさん
2010/08/14(土) 05:33:34ID:???見辛いコードは保守性もないし
0936nobodyさん
2010/08/19(木) 00:49:02ID:???素人がOOPやっても保守しやすくなるとは限らん罠
それより先にやるべきことがある
一番やるべきなのはビューの分離
0937nobodyさん
2010/08/19(木) 15:22:08ID:md+Wq55QwinでダウンロードしたMCryptをlinuxにコピー。
makeすると
mcrypt.h: No such file or directory
といわれてしまいます。
google先生に聞いてもphpの例しか出てこず、、、
どういうことなんでしょうか?
0938nobodyさん
2010/08/19(木) 16:19:15ID:???0939937
2010/08/19(木) 16:46:41ID:md+Wq55Qありがとうございます。
今度はRPMパッケージのlibmcryptをインストール中にこけました。
error: Failed dependencied:
libmcrypt = 2.4.11 is needed by libmcrypt-devel-2.4.11-2.i586
調べてみます。
0940nobodyさん
2010/08/19(木) 17:08:32ID:W8mNHQ1m0941nobodyさん
2010/08/26(木) 16:54:36ID:???foreach $no (sort keys %hash){ ・・・
$no の小さい順になるんで逆転したいのですが
どうしたらいいですか?
0942nobodyさん
2010/08/26(木) 17:24:53ID:2u47Mbsa0943nobodyさん
2010/08/26(木) 17:51:44ID:???sort { $b cmp $a } keys %hash
0944nobodyさん
2010/08/26(木) 19:02:28ID:???100abc
20abc
こうゆうデータがあるとき、先頭の数字で並べ替えたい時
どうやってソートしますか?
普通にソートすると
100abc
10abc
20abc
となりますが、希望する並べ替えは
10abc
20abc
100abc
です。
先頭の数字の配列と、文字列の配列に分断して並べ替えるのが妥当なのかな?と思ったけど、
分断した配列同士をどうやって紐付けるかで迷い、結局構造体っぽいハッシュにがっつり入れて並べ替えて対処してます。
もっとスマートに出来そうなのですが・・・
0945nobodyさん
2010/08/26(木) 19:51:42ID:???sort { int $a <=> int $b } @array
でいけるな。真っ当にやるなら
sort { ($a =~ /^([0-9]+)/)[0] <=> ($b =~ /^([0-9]+)/)[0] } @array
とか。
0946nobodyさん
2010/08/26(木) 20:00:51ID:???恐ろしく簡単で、灯台もと暗しすぎて笑えてきたw
正規表現は意外とコストが高いので、int 使っていこうと思います。
thx!
0947945
2010/08/26(木) 20:35:40ID:???0948nobodyさん
2010/08/26(木) 22:20:20ID:???sort { ($a <=> $b } grep { /^([0-9]+)/)[0] } @array
は駄目かな?
0949nobodyさん
2010/08/26(木) 23:41:34ID:???map{ $_->[0] }
sort { $a->[1] <=> $b->[1] }
map{ [ $_, ( /^(\d+)/)[0] ] }
@array ;
0950nobodyさん
2010/08/27(金) 19:12:21ID:RoA/6PjLところで、先頭に数字があるBBSのログをサーバ上で
他の目的用に整形し直した際に、
>>945の
sort { int $a <=> int $b }
でソートとしてみました。
こういうの
100<>name<>mail<>sub・・・・
99<>name<>mail<>sub
98<>name<>mail<>sub
ブラウザで新ログを見ると綺麗にソートされています。
それをFTPでダウンロードしてみると崩れています。
そんな事ってあるのでしょうか?
私の勘違いでしょうか。
0952nobodyさん
2010/09/09(木) 10:22:10ID:???話は戻るんだがそういうデータならどうせパースするんだし
@data = sort { $a->[0] <=> $b->[0] } map { [split /<>/, $_] } @lines;
とかでよくないか?
0953nobodyさん
2010/09/09(木) 17:38:07ID:mtEu4DDePerl::DBIで下記のようにコーディングしています。
my $codes = '1,2,3,4,5';
my $sql = 'SELECT * FROM TEST WHERE testcode IN (?)';
my $sth = $dbh->prepare($sql);
$sth->execute( $codes );
実行すると実際に発行されるクエリーは
SELECT * FROM TEST WHERE testcode IN ("1,2,3,4,5")
のようになると思います。(VARCHAR扱いでバインドされるので)
次のように発行させたい場合はどのように記述すればいいのでしょうか?
SELECT * FROM TEST WHERE testcode IN (1,2,3,4,5)
0954nobodyさん
2010/09/09(木) 17:50:35ID:???my @codes = split /,/, '1,2,3,4,5';
my $sql = 'SELECT * FROM TEST WHERE testcode IN (' . join(',', ('?') x @codes) . ')';
my $sth = $dbh->prepare($sql);
$sth->execute(@codes);
0955953
2010/09/09(木) 22:32:41ID:mtEu4DDe遅くなりました!
無事に動作しました。ありがとうございました。
0956nobodyさん
2010/09/10(金) 10:36:15ID:dfQ9DvRu何か定番的なやり方がありましたら教えて下さい
検索のキーワードでも何でも結構ですので
0957956
2010/09/10(金) 10:58:46ID:???その中で常時localtime(time)を取得し、特定の日時になったら
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
if($hour == 起こしたい時 && $min == 起こしたい分 && $sec == 起こしたい秒) {
#起こしたいイベント
}
こんな感じでイベントを起こす、というやり方です
また、指定する日時はCSVファイルで複数行を別途保持しておく形になります
YYYY,MM,DD,hh,mm,ss…みたいな感じです
もし他にもっとスマートな方法があるようでしたら教えて下さい
0958nobodyさん
2010/09/10(金) 11:12:12ID:???タスク
0959nobodyさん
2010/09/10(金) 13:23:53ID:???cronを使えない特別な理由があるとして、whileの中でsleep(目標日時 - 現在日時)とかすればいいんじゃね?
0960nobodyさん
2010/10/07(木) 20:01:34ID:dy4xwK3Operlの関数は引数にアクセスする際に$_->[0]で引数の値を取得できると
教わったんですが関数らしき処理はこのソースコードの前後に書かれておらず
困ってます。
あとforループの$tはどんな役割になるんでしょうか?
my $input_vec = { book => 29, '梅田望夫' => 27 ....};
my %sim;
for my %t(keys %input_vec) {
for(@{$index{$t}}) {
$sim{$_->[0]} += $input_vec->{$t} * $_->[1];
}
}
0961nobodyさん
2010/10/07(木) 20:11:47ID:???せめて何を目的とするコードなのかくらい書け。
0962nobodyさん
2010/10/07(木) 20:21:13ID:dy4xwK3O$input_vecにははてなブックマークのタグ数が代入されています。
実装 : ある記事を見たユーザにオススメの記事を推薦する機能
$indexははてなブックマークのタグとタグ数、記事のIDを元に
作られた転置インデックスです。
0963nobodyさん
2010/10/07(木) 20:49:20ID:???#!/usr/bin/perl
@array = ('a', 'b', 'c');
&func(\@array);
sub func{
foreach (@_) {
print $_->[0],": ",$_->[1],": ",$_->[2],"\n";
}
}
0964nobodyさん
2010/10/09(土) 07:58:30ID:???ここのメールフォームのスクリプトを試していて、
textareaに入力した改行が確認画面で反映されないのですが、
どのような改造をすればよいでしょうか。
送信されたメールではちゃんと改行されてるので、確認画面を出力するところが問題になるとは思うのですが。。。
0966nobodyさん
2010/10/09(土) 19:26:59ID:???平日のみ4つの配列を順に表示させる方法またはヒントが
あれば教えてください。
休日か平日かの判定は出来ています。
下のような感じです。
配列はA→B→C→Dの4つ。
10/04(月)→平日なので配列Aを表示
10/05(火)→平日なので配列Bを表示
10/06(水)→平日なので配列Cを表示
10/07(木)→平日なので配列Dを表示
10/08(金)→平日なので配列Aを表示
10/09(土)→休日なので表示しない
10/10(日)→休日なので表示しない
10/11(祝)→休日なので表示しない
10/12(火)→平日なので配列Bを表示
10/13(水)→平日なので配列Cを表示
0967nobody
2010/10/09(土) 23:54:45ID:???要素かを調べて、(qw(A B C D))[$n % 4] でいいと思う。
0968nobodyさん
2010/10/11(月) 06:28:12ID:???という行は¥$_をutf8からeucへ変換するということだと思うのですが、
¥$_ってどういう意味ですか?
0969nobodyさん
2010/10/11(月) 06:33:14ID:???参照渡し
関数の副作用
0970nobodyさん
2010/10/11(月) 12:56:11ID:DYbljc5PWin7+Apache+PerlでCGIを動かそうとしているのですが、Internal Server Error(500)が出てうまくいきません。
Apacheのerror.logをみると
[Mon Oct 11 12:41:43 2010] [error] [client 127.0.0.1] (OS 2)指定されたファイルが見つかりません。 : couldn't create child process: 720002: printenv.cgi
[Mon Oct 11 12:41:43 2010] [error] [client 127.0.0.1] (OS 2)指定されたファイルが見つかりません。 : couldn't spawn child process: C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cgi-bin/printenv.cgi
と出てきます。
ググると、ソースの一行目の#!のPathの設定が正しくないとこのエラーが出るらしいのですが、
Pathは正しく設定してます・・・
#!c:/Perl64/bin/perl.exe
何か他に怪しいところとかありますでしょうか?
0971nobodyさん
2010/10/11(月) 14:04:59ID:???Windowsでexeの指定ってそれでいいの?
Linux環境でしか触ったことないからわからんけど
#!/Perl64/bin/perl
とか
#C:\\Perl64\bin\perl.exe
とかじゃね?
参考になりそうなURL
http://tep-pey.blogspot.com/2008/05/windowsapacheperl.html
0972nobody
2010/10/11(月) 16:46:12ID:???【質問】
&Jcode::convert(\$_,'euc','utf8');
という行は\$_をutf8からeucへ変換するということだと思うのですが、
\$_ってどういう意味ですか?
【回答】
&Jcode::convert(\$_,'euc','utf8');
という行は $_ をutf8からeucへ変換するということ
です。
0973nobody
2010/10/11(月) 19:50:02ID:???&Jcode::convert($_,'euc','utf8');
の場合は $_ をutf8からeucへ変換するということ
で・は・な・く・て
$foo をutf8からeucへ変換するということ
でっす!!!
レス数が950を超えています。1000を超えると書き込みができなくなります。