CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板: http://kohada.2ch.net/php/)
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
荒らしはスルー推奨。
"The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、
Perlの奥深さについて皆で語り合い、追求してまいりましょう。
www.perl.org/get.html
Download Latest Stable Source (5.18.2)
▼前スレ
Perlについての質問箱 61箱目
http://toro.2ch.net/test/read.cgi/tech/1381561905/
Perlについての質問箱 62箱目
http://toro.2ch.net/test/read.cgi/tech/1385039352/
Perlについての質問箱 63箱目
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
2014/02/19(水) 23:36:23.29802デフォルトの名無しさん
2017/08/27(日) 20:38:24.57ID:SUXQdIaA Perl6?
803デフォルトの名無しさん
2017/08/27(日) 21:17:36.95ID:l5ljwsJk 6は別物らしいね
804デフォルトの名無しさん
2017/08/27(日) 22:40:07.20ID:eg2XZFIG pythonもVBもバージョン上がると別物になる
そして大抵古い方が使いやすい
そして大抵古い方が使いやすい
805デフォルトの名無しさん
2017/08/27(日) 22:55:26.24ID:l5ljwsJk pythonはそろそろLinuxのデフォルトが3になりそうだけど
Perlはそんな気配全く無いよねw
Perlはそんな気配全く無いよねw
806デフォルトの名無しさん
2017/08/27(日) 23:11:43.20ID:QvkIPToQ システム付属のスクリプト言語っていう立ち位置がかつてのPerlからPythonに変わったからなあ
807デフォルトの名無しさん
2017/08/27(日) 23:14:14.93ID:eg2XZFIG 過去の資産が多いほどおいそれとは変えられない
808デフォルトの名無しさん
2017/08/29(火) 00:32:32.45ID:MFSwZwGT Perl は5.005まで。5.6からは別物。
809デフォルトの名無しさん
2017/08/29(火) 18:35:08.35ID:rhRVTFDq <?=>
810デフォルトの名無しさん
2017/08/29(火) 18:35:53.37ID:rhRVTFDq >>801
なにそれどうやって書くの?
なにそれどうやって書くの?
811デフォルトの名無しさん
2017/08/30(水) 09:00:08.40ID:Lglrs9g0812デフォルトの名無しさん
2017/08/30(水) 19:42:59.46ID:bbdqdnnx 環境によってはどうやってもアトミックにならんのでは
813デフォルトの名無しさん
2017/08/31(木) 15:10:50.45ID:zaIZgwYc $_ って正式名称はなに?
814デフォルトの名無しさん
2017/08/31(木) 20:40:54.54ID:3/js14c9 >>813
特に決まっていない
use English した時の名前は ARG
http://perldoc.jp/docs/perl/5.22.1/perlvar.pod#General32Variables
http://perldoc.perl.org/perlvar.html#General-Variables
特に決まっていない
use English した時の名前は ARG
http://perldoc.jp/docs/perl/5.22.1/perlvar.pod#General32Variables
http://perldoc.perl.org/perlvar.html#General-Variables
815デフォルトの名無しさん
2017/08/31(木) 21:06:33.50ID:kksFNuyJ 日本だとparameterもargumentもどっちも引数と訳して区別しないから、
何故ARGなのかピンときにくいな
何故ARGなのかピンときにくいな
816デフォルトの名無しさん
2017/08/31(木) 22:02:37.51ID:j9yVEoD5 引数は単に引数ってだけ。その使われ方は決まっていない。
例えば言語によっては関数の引数で戻り値を返すことだってできる。
つまり引数=パラメータではない
また関数の引数の多くはパラメータになるが、
引数だけがパラメータではない。
環境変数でパラメータを渡すことも有る
つまり「この関数の引数はすべてパラメータであり、引数以外のパラメータは取らない」
のような使い方をする
例えば言語によっては関数の引数で戻り値を返すことだってできる。
つまり引数=パラメータではない
また関数の引数の多くはパラメータになるが、
引数だけがパラメータではない。
環境変数でパラメータを渡すことも有る
つまり「この関数の引数はすべてパラメータであり、引数以外のパラメータは取らない」
のような使い方をする
817デフォルトの名無しさん
2017/08/31(木) 22:05:02.71ID:j9yVEoD5 なぜ $_ が ARGなのかというと
正式名称が「デフォルトの引数」だからである。
正式名称が「デフォルトの引数」だからである。
818デフォルトの名無しさん
2017/08/31(木) 22:17:16.68ID:kksFNuyJ そういう理解なんだねとは思うけど、何も正しくない
パラメータは、数学の媒介変数から借りてきた言葉で、
それを変化させると結果がいろいろ変わる変数
argumentは訳語が無いのでアーギュメントとするけど、
これは仮引数とも訳されて、関数を定義する時に便宜的に使われる名前
y = f(a)
と使うけど、定義では
f(x) = x*x
みたいに違う名前で書く
ここで、aがパラメータで、xがアーギュメント
パラメータは、数学の媒介変数から借りてきた言葉で、
それを変化させると結果がいろいろ変わる変数
argumentは訳語が無いのでアーギュメントとするけど、
これは仮引数とも訳されて、関数を定義する時に便宜的に使われる名前
y = f(a)
と使うけど、定義では
f(x) = x*x
みたいに違う名前で書く
ここで、aがパラメータで、xがアーギュメント
819デフォルトの名無しさん
2017/08/31(木) 22:45:26.64ID:j9yVEoD5 それは数学での定義でしかない
820デフォルトの名無しさん
2017/09/01(金) 15:00:43.14ID:H3SYi0Xx 引数として使ってるものが引数
パレメータとして使ってる物がパラメータ
パレメータとして使ってる物がパラメータ
821デフォルトの名無しさん
2017/09/02(土) 10:40:48.32ID:u6TVALzz パレパレ
822デフォルトの名無しさん
2017/09/02(土) 12:32:02.45ID:xOFD7X9t パレメータでぐぐると600件くらいヒットするから、
それなりに認知された用語だ
それなりに認知された用語だ
823デフォルトの名無しさん
2017/09/03(日) 01:01:13.45ID:93btyWjA ネイティヴ風の発音だね
824デフォルトの名無しさん
2017/09/03(日) 11:11:45.08ID:DIhXI1rF たまにいるよな。
大抵のカタカナ英語は日本語風に書いているのに
特定の単語だけネイティブ風に書くやつ
より正確な英語の発音にこだわってるんだー風を
だしていながら、その他のよく知られたカタカナ英語は
そうやってないから、ものすごく恥ずかしい
大抵のカタカナ英語は日本語風に書いているのに
特定の単語だけネイティブ風に書くやつ
より正確な英語の発音にこだわってるんだー風を
だしていながら、その他のよく知られたカタカナ英語は
そうやってないから、ものすごく恥ずかしい
825デフォルトの名無しさん
2017/09/03(日) 12:13:05.99ID:9X5Pxl9y 何言ってんだかさっぱりわかんないな。
これじゃ駄目なん? 普通にパラメータに聞こえますけど。
http://ejje.weblio.jp/content/parameter
元凶は日本のマスゴミなんだから逆らって
アイフォーンをアイフォンとかは全然いいんじゃない?
これじゃ駄目なん? 普通にパラメータに聞こえますけど。
http://ejje.weblio.jp/content/parameter
元凶は日本のマスゴミなんだから逆らって
アイフォーンをアイフォンとかは全然いいんじゃない?
826デフォルトの名無しさん
2017/09/03(日) 17:26:43.87ID:B/+QCXTV そして突然迷い込む馬鹿二人(うち一人が発狂)
827デフォルトの名無しさん
2017/09/04(月) 02:55:51.13ID:wDfrhDJb パリミラァ
828デフォルトの名無しさん
2017/09/04(月) 05:58:32.53ID:jkNKu/s3 なんてネイティヴな発音!
829デフォルトの名無しさん
2017/09/06(水) 01:01:55.01ID:G3iCmUe0 アイフォーンはアイフォーンだろうがゴミ
日本企業の商標を無視するとか朝鮮人かよ
日本企業の商標を無視するとか朝鮮人かよ
830デフォルトの名無しさん
2017/09/06(水) 19:33:55.21ID:sdZlzdoG 先にアイホンがあったから、アイフォンって名乗れないだけだけどな
831デフォルトの名無しさん
2017/09/07(木) 01:22:55.82ID:Sk+IOtsg >>825
おれには「フラメトル」としか聞こえん
おれには「フラメトル」としか聞こえん
832デフォルトの名無しさん
2017/09/07(木) 07:54:03.77ID:J7Os68O5 disableをディセーブルだと判ってるのに、どうしてもディザブルと読んでしまう
833デフォルトの名無しさん
2017/09/10(日) 19:11:13.56ID:PWIqhoXm ディスエイブル
834デフォルトの名無しさん
2017/09/10(日) 19:11:55.89ID:PWIqhoXm deny はデニーではなくディナイ
835デフォルトの名無しさん
2017/09/10(日) 19:13:03.02ID:PWIqhoXm alias はアリアスではなくエイリアス
836デフォルトの名無しさん
2017/09/10(日) 21:23:32.99ID:ktr8CX3U dosは土座
837デフォルトの名無しさん
2017/09/12(火) 21:58:39.86ID:a0beitbE >>836
お前PCニュース板で荒らしって叩かれてるやつだろw
お前PCニュース板で荒らしって叩かれてるやつだろw
838デフォルトの名無しさん
2017/09/15(金) 23:16:27.00ID:xDlOGQNS 質問ですが required.plをtest.plからrequire './required.pl'としたとき、
required.plの中でuse strict;と書いてもtest.plがstrictにならないのに
required.plの中でuse CGI;と書くとtest.plでmy $q = new CGI;できてしまうのは何で?
use xxxx;にスコープの違いがあるとして、何読んだらワカル?
ちなPerl 5 (v5.16.1)
required.plの中でuse strict;と書いてもtest.plがstrictにならないのに
required.plの中でuse CGI;と書くとtest.plでmy $q = new CGI;できてしまうのは何で?
use xxxx;にスコープの違いがあるとして、何読んだらワカル?
ちなPerl 5 (v5.16.1)
839デフォルトの名無しさん
2017/09/15(金) 23:33:11.49ID:du4uxrUm840デフォルトの名無しさん
2017/09/15(金) 23:43:23.66ID:quelyH0d 訳: わかりません
841デフォルトの名無しさん
2017/09/16(土) 00:35:28.29ID:r+6Dx5B1 >>838
http://perldoc.jp/docs/perl/5.16.1/perlmod.pod
プラグマは大体ブロックスコープだけどものによるから個別に調べて
http://perldoc.jp/index/core
http://perldoc.jp/docs/perl/5.16.1/perlmod.pod
プラグマは大体ブロックスコープだけどものによるから個別に調べて
http://perldoc.jp/index/core
842デフォルトの名無しさん
2017/09/16(土) 10:28:48.29ID:ykCZuND/843デフォルトの名無しさん
2017/09/16(土) 10:40:43.15ID:eVQeLfYm >>838
そもそも概念が全く違うな
CGI->new が呼び出せるように strict->importは呼び出せるようになっているし
パッケージの定義がグローバルな名前空間に行われてるのは同じ
strictの有効化はコンパイル時のperl内部のスイッチの切り替え
同じ use でもやりたいことが違うからスコープの違いという視点で整理しようとすると混乱しそう
そもそも概念が全く違うな
CGI->new が呼び出せるように strict->importは呼び出せるようになっているし
パッケージの定義がグローバルな名前空間に行われてるのは同じ
strictの有効化はコンパイル時のperl内部のスイッチの切り替え
同じ use でもやりたいことが違うからスコープの違いという視点で整理しようとすると混乱しそう
844デフォルトの名無しさん
2017/09/21(木) 20:27:42.42ID:BpkTXd/3 文字列$str2から文字列$str1に含まれている文字以外を全て削除する
例えば$str2="あaかbさcたdなe";$str1="あかさたな";ならば
absdeが残るということです
モジュール使えない環境なのでモジュールなしのやりかたで
例えば$str2="あaかbさcたdなe";$str1="あかさたな";ならば
absdeが残るということです
モジュール使えない環境なのでモジュールなしのやりかたで
845デフォルトの名無しさん
2017/09/21(木) 20:29:23.07ID:BpkTXd/3 間違えたabcdeが残るではなくあかさたなが残る
846デフォルトの名無しさん
2017/09/21(木) 21:26:21.38ID:YjUNPIX/ $str2="あaかbさcたdなe";
$str1="あかさたな";
$str2 =~ s/[^$str1]//g;
print $str2; # あかさたな
$str1="あかさたな";
$str2 =~ s/[^$str1]//g;
print $str2; # あかさたな
847デフォルトの名無しさん
2017/09/21(木) 23:33:40.68ID:8ncmvgKd 正規表現は書けても実行しようとするとむちゃくちゃ遅くなったり
メモリ足りなくなったりして、結局ループに開いたりする
メモリ足りなくなったりして、結局ループに開いたりする
848デフォルトの名無しさん
2017/09/22(金) 05:44:52.27ID:gzrtSK/2 あああああああああまははあああああああああああああああああああああなやたはあああああああああああああああなはわたはなたかかなななななああああああああああああああああああああああああああああかかかかあああああああああああああかささやなさはななけなわまややゆか
849デフォルトの名無しさん
2017/09/22(金) 09:19:14.94ID:fe+2x70v850デフォルトの名無しさん
2017/09/22(金) 09:42:25.43ID:45DIhC0E utf8に変換して処理しなさい
851デフォルトの名無しさん
2017/09/22(金) 09:45:38.48ID:AEpp9yrH 常識ですな
852デフォルトの名無しさん
2017/09/22(金) 12:47:50.13ID:gMAmIwCv853デフォルトの名無しさん
2017/09/23(土) 15:14:55.50ID:J7EIO5I9 Perlは正則言語を最左導出に変換していないとか一体…
まあ一般に状態数が増えてメモリ食うけど
まあ一般に状態数が増えてメモリ食うけど
854デフォルトの名無しさん
2017/09/30(土) 21:35:00.65ID:cxuNJ5cw ファイルロック用のファイルを使ってロックしている最中に
他プロセスでそのロック用ファイルを削除すると
ロック解除されてしまうの?
他プロセスでそのロック用ファイルを削除すると
ロック解除されてしまうの?
855デフォルトの名無しさん
2017/10/01(日) 00:30:05.86ID:/pIW5dK5 す、す、すみません、どなたか教えてくららい。
856デフォルトの名無しさん
2017/10/01(日) 02:02:03.44ID:aVSvWtqd ロックしているファイルを、他のプロセスは削除できないだろ
試してみれば?
試してみれば?
857デフォルトの名無しさん
2017/10/01(日) 04:19:01.01ID:ZfVcefoU 見事にヴァカが釣れたw
腹痛いwwwwwwwwwww
腹痛いwwwwwwwwwww
858デフォルトの名無しさん
2017/10/01(日) 06:50:57.38ID:h9mcOQPA 10/1は裏エイプリルフール
何をしても許される
何をしても許される
859デフォルトの名無しさん
2017/10/01(日) 23:10:23.34ID:y8Okh59a 試してみたけどwindowsサーバーだとロック中のファイルは削除できないけど
unixサーバーだと削除できてしまってロックが解除される
だからロック用ファイルは削除しないでそのまんまの方がいい
unixサーバーだと削除できてしまってロックが解除される
だからロック用ファイルは削除しないでそのまんまの方がいい
860デフォルトの名無しさん
2017/10/02(月) 13:19:40.10ID:7H/ud9Uk >>859
unixでファイル削除してもロックは解放されない
unixでファイル削除してもロックは解放されない
861デフォルトの名無しさん
2017/10/02(月) 13:31:28.69ID:SGi8KvwU862デフォルトの名無しさん
2017/10/02(月) 18:11:00.25ID:zZtvHqX+ perl6についてスレすらないけどみんな無関心なの?
863デフォルトの名無しさん
2017/10/02(月) 19:15:38.66ID:7PTk8Wzs 違う言語だからなあ
そんなんに慣れるくらいなら別の言語やる
そんなんに慣れるくらいなら別の言語やる
864デフォルトの名無しさん
2017/10/02(月) 19:19:54.66ID:zZtvHqX+ とんくす
やっぱそういう認識なんやね
やっぱそういう認識なんやね
865デフォルトの名無しさん
2017/10/02(月) 19:54:37.34ID:W4ke7gLE 使えるとこではPerl使いたいけど
いよいよとなったら次はpythonかなぁ
いよいよとなったら次はpythonかなぁ
866デフォルトの名無しさん
2017/10/02(月) 20:13:00.81ID:xxT2R/Bt (lock_test1.cgi)
test.lockを排他ロック
sleep(10);
ロック解除
(lock_test2.cgi)
test.lockを削除
test.lockを排他ロック
ロック解除
lock_test1.cgiを実行した3秒後にlock_test2.cgiを実行して試したら
lock_test2.cgiの方はロック待ちにならなかった
test.lockを削除しない場合はロック待ちになった
だからロック用ファイルを削除するとロックが解除される
test.lockを排他ロック
sleep(10);
ロック解除
(lock_test2.cgi)
test.lockを削除
test.lockを排他ロック
ロック解除
lock_test1.cgiを実行した3秒後にlock_test2.cgiを実行して試したら
lock_test2.cgiの方はロック待ちにならなかった
test.lockを削除しない場合はロック待ちになった
だからロック用ファイルを削除するとロックが解除される
867デフォルトの名無しさん
2017/10/02(月) 20:14:57.29ID:7PTk8Wzs pythonも新バージョンへに移行したくない同じ現象になってて、
次の言語が待たれている
perlからpythonはいろいろ新しいアイディアが追加されて、
より面白い言語になったけど、
次の言語では何が追加されるんだろう
次の言語が待たれている
perlからpythonはいろいろ新しいアイディアが追加されて、
より面白い言語になったけど、
次の言語では何が追加されるんだろう
868デフォルトの名無しさん
2017/10/02(月) 20:19:16.81ID:W4ke7gLE869デフォルトの名無しさん
2017/10/03(火) 13:20:15.84ID:inJ+8qV1870デフォルトの名無しさん
2017/10/05(木) 23:33:51.09ID:1JBojDVn ロック状態を示すファイルを削除したら、その擬似的なロックが、解放されるのは当たり前だとおもうのだけど、結局何がしたいんだ?
871デフォルトの名無しさん
2017/10/07(土) 08:15:23.63ID:6wQnopu1 基本的なことだったと思うのですが、忘れてしまって調べても見つけられなかったので質問させてください。
print関数のFHのようなスペースを伴わずに渡す第一引数って
* なんていう名前でしたっけ
* どうやって定義するんでしたっけ
print関数のFHのようなスペースを伴わずに渡す第一引数って
* なんていう名前でしたっけ
* どうやって定義するんでしたっけ
872デフォルトの名無しさん
2017/10/07(土) 11:13:34.60ID:lC4cuCCD >print関数のFHのようなスペースを伴わずに渡す第一引数
???
何を指しているのかよくわからないし、定義するってどういうことだ?
print FH "hoge", "fuga";
print "hoge", "fuga";
???
何を指しているのかよくわからないし、定義するってどういうことだ?
print FH "hoge", "fuga";
print "hoge", "fuga";
873デフォルトの名無しさん
2017/10/07(土) 12:02:43.75ID:6wQnopu1874デフォルトの名無しさん
2017/10/07(土) 12:05:55.88ID:6wQnopu1 あ、スペースを伴わずに、じゃない
カンマを伴わずに…
カンマを伴わずに…
875デフォルトの名無しさん
2017/10/07(土) 12:33:54.72ID:lC4cuCCD 間接オブジェクト構文
ttp://perldoc.jp/docs/perl/5.8.8/perlobj.pod#Indirect32Object32Syntax
new Hoge 'foo', 'bar';
Hoge->new('foo', 'bar');
普通にメソッドを定義すればよく、呼び出す時の書き方が違うだけ
ttp://perldoc.jp/docs/perl/5.8.8/perlobj.pod#Indirect32Object32Syntax
new Hoge 'foo', 'bar';
Hoge->new('foo', 'bar');
普通にメソッドを定義すればよく、呼び出す時の書き方が違うだけ
876デフォルトの名無しさん
2017/10/07(土) 13:02:49.57ID:5L99WECK877デフォルトの名無しさん
2017/10/09(月) 21:30:40.03ID:EtpsZHXA で、何をしたのかね?
878デフォルトの名無しさん
2017/10/09(月) 21:33:56.63ID:EtpsZHXA うう。リロード忘れ。
879デフォルトの名無しさん
2017/10/12(木) 16:28:32.59ID:5XRwFLPd WWW-Curl-4.17.をインストールしたいと思っています。
perl Makefile.PLを実行して以下のエラーが出力されました。
原因と対応方法が分かる方、ご教示ください。
Locating required external dependency bin:curl-config... found at /usr/local/bin/curl-config.
The version is libcurl 7.19.6
Found curl.h in /usr/local/include/curl/curl.h
No working cpp (ファイルもディレクトリもありません。). Parsing curl.h in Perl at Makefile.PL line 105.
Building curlopt-constants.c for your libcurl version
Building Easy.pm constants for your libcurl version
Building Share.pm constants for your libcurl version
Generating a Unix-style Makefile
Writing Makefile for WWW::Curl
Writing MYMETA.yml and MYMETA.jso
perl Makefile.PLを実行して以下のエラーが出力されました。
原因と対応方法が分かる方、ご教示ください。
Locating required external dependency bin:curl-config... found at /usr/local/bin/curl-config.
The version is libcurl 7.19.6
Found curl.h in /usr/local/include/curl/curl.h
No working cpp (ファイルもディレクトリもありません。). Parsing curl.h in Perl at Makefile.PL line 105.
Building curlopt-constants.c for your libcurl version
Building Easy.pm constants for your libcurl version
Building Share.pm constants for your libcurl version
Generating a Unix-style Makefile
Writing Makefile for WWW::Curl
Writing MYMETA.yml and MYMETA.jso
880デフォルトの名無しさん
2017/10/12(木) 22:11:19.78ID:5bT9xlHu そのモジュールのことは知らないけど、とりあえず「cpp が無い」と言ってるようだね。
make と C をインストールすればいいと思うよ。
make と C をインストールすればいいと思うよ。
881デフォルトの名無しさん
2017/10/12(木) 22:58:50.94ID:4iOww/iD makeがちゃんとした文法になる日は来るんだろうか
882デフォルトの名無しさん
2017/10/13(金) 09:46:32.50ID:BQhKbAsH 880さん、ありがとうございます。
cppがインストールされていないのですね。。
pkginfoでみるとそれらしいものが入っているのですが、下記とは違うものでしょうか。
# pkginfo -i |grep cpp
system SUNWcpp Solaris cpp
GNOME2 SUNWsigcpp Libsigc++ - a library that implements typesafe callback system for standard
C++
GNOME2 SUNWsigcpp-devel Libsigc++ - a library that implements typesafe callback system for standard
C++ - development files
cppがインストールされていないのですね。。
pkginfoでみるとそれらしいものが入っているのですが、下記とは違うものでしょうか。
# pkginfo -i |grep cpp
system SUNWcpp Solaris cpp
GNOME2 SUNWsigcpp Libsigc++ - a library that implements typesafe callback system for standard
C++
GNOME2 SUNWsigcpp-devel Libsigc++ - a library that implements typesafe callback system for standard
C++ - development files
883880
2017/10/13(金) 21:28:27.18ID:4p1OUNBb 問題は解決しましたか? Solaris のことは分からないのでこれ以上お役に立てそうにありません。
まだ解決していないのなら perlsolaris というマニュアルがあるはずですから読んでみてください。
その上で、Solaris のことをよく知っている人に聞くのがよろしいかと思います。
まだ解決していないのなら perlsolaris というマニュアルがあるはずですから読んでみてください。
その上で、Solaris のことをよく知っている人に聞くのがよろしいかと思います。
884デフォルトの名無しさん
2017/10/14(土) 22:03:44.55ID:7hq5DvWK ダメですね。。
もうちょっとネットで調べてみます。
もうちょっとネットで調べてみます。
885デフォルトの名無しさん
2017/10/20(金) 15:42:18.30ID:1xv6Ebpc 流れを切ってすみません。
半角カタカナを全角カタカナにしてファイルに書き込みたいです。
Cannot decode string with wide characters at...
のエラーになります。どこをどう修正すればよいでしょうか。
use utf8; use Encode; use Encode::JP::H2Z;
open(IN, "<:encoding(cp932)", "src.txt");
open(OUT, ">:encoding(cp932)", "dst.txt");
...
#$strはファイルから読み込んだ文字列
Encode::from_to($str, "utf8", "euc-jp"); #どうもここでひっかかる
Encode::JP::H2Z::h2z(\$str);
Encode::from_to($str, "euc-jp", "utf8");
...
といったコードなのですが・・・。
Shift-JISのコードだと上手く動くのですが・・・。
utf8で標準モジュールの利用で行いたいです。どなたかよろしくお願いします。
半角カタカナを全角カタカナにしてファイルに書き込みたいです。
Cannot decode string with wide characters at...
のエラーになります。どこをどう修正すればよいでしょうか。
use utf8; use Encode; use Encode::JP::H2Z;
open(IN, "<:encoding(cp932)", "src.txt");
open(OUT, ">:encoding(cp932)", "dst.txt");
...
#$strはファイルから読み込んだ文字列
Encode::from_to($str, "utf8", "euc-jp"); #どうもここでひっかかる
Encode::JP::H2Z::h2z(\$str);
Encode::from_to($str, "euc-jp", "utf8");
...
といったコードなのですが・・・。
Shift-JISのコードだと上手く動くのですが・・・。
utf8で標準モジュールの利用で行いたいです。どなたかよろしくお願いします。
886デフォルトの名無しさん
2017/10/20(金) 17:53:57.14ID:P8duaFnv 目的がそれだけなら、こんな感じになるかな。
open( IN,'<','src.txt')
open( OUT,'>','dst.txt')
Encode::from_to( $str,'cp932','euc-jp');
Encode::JP::H2Z::h2z(\$str);
Encode::from_to( $str,'euc-jp','cp932');
どうしてかというと、from_to に渡すのは Perl の用語で言うなら文字列ではなくバイト列。
だから入力時にデコードする必要は無い。
日本語でのパターンマッチなどのためにデコードしてある場合は
from_to ではなく encode を使う。
Encode のマニュアルを読んでください。
標準モジュールしか使えないわけじゃないのなら Unicode::Japanese を使ってみてはどうでしょう。
open( IN,'<','src.txt')
open( OUT,'>','dst.txt')
Encode::from_to( $str,'cp932','euc-jp');
Encode::JP::H2Z::h2z(\$str);
Encode::from_to( $str,'euc-jp','cp932');
どうしてかというと、from_to に渡すのは Perl の用語で言うなら文字列ではなくバイト列。
だから入力時にデコードする必要は無い。
日本語でのパターンマッチなどのためにデコードしてある場合は
from_to ではなく encode を使う。
Encode のマニュアルを読んでください。
標準モジュールしか使えないわけじゃないのなら Unicode::Japanese を使ってみてはどうでしょう。
887885
2017/10/21(土) 02:31:17.21ID:JUnyPSe2 >886
返信ありがとうございます。
他に日本語の処理があるのでencoding(cp932)としています。
$str=Encode::encode('euc-jp',$str);Encode::JP::H2Z::h2z(\$str);
$str=Encode::decode('utf-8',$str);
としても
#$str=Encode::encode('utf-8',$str);#これの有無に関わらず
$str=Unicode::Japanese->new($str)->h2zKana->get;
(ためしにUnicode::Japaneseを使ってみましたが、標準モジュールで行いたいです)
"\x{xxxx}" does not map to cp932 at ....
とワーニングだらけで>:encoding(cp932)がうまくいっていないというか
それ以前の変換がうまくいっていないようです・・・。
返信ありがとうございます。
他に日本語の処理があるのでencoding(cp932)としています。
$str=Encode::encode('euc-jp',$str);Encode::JP::H2Z::h2z(\$str);
$str=Encode::decode('utf-8',$str);
としても
#$str=Encode::encode('utf-8',$str);#これの有無に関わらず
$str=Unicode::Japanese->new($str)->h2zKana->get;
(ためしにUnicode::Japaneseを使ってみましたが、標準モジュールで行いたいです)
"\x{xxxx}" does not map to cp932 at ....
とワーニングだらけで>:encoding(cp932)がうまくいっていないというか
それ以前の変換がうまくいっていないようです・・・。
888855
2017/10/21(土) 02:40:01.52ID:JUnyPSe2 連投すみません。encodeとdecode間違ってるなと思い
$str=Encode::decode('euc-jp',$str);Encode::JP::H2Z::h2z(\$str);
$str=Encode::encode('euc-jp',$str);
とすると、
Wide character in subroutine entry at...
で出力が0バイトとなってしまいます・・・。
$str=Encode::decode('euc-jp',$str);Encode::JP::H2Z::h2z(\$str);
$str=Encode::encode('euc-jp',$str);
とすると、
Wide character in subroutine entry at...
で出力が0バイトとなってしまいます・・・。
889885
2017/10/21(土) 03:03:22.99ID:JUnyPSe2 何度もすみません。できました。
$str=Encode::encode('euc-jp',$str);Encode::JP::H2Z::h2z(\$str);
$str=Encode::decode('euc-jp',$str);
でした。
> 886
encodeを使うアドバイスありがとうございました。助かりました。
$str=Encode::encode('euc-jp',$str);Encode::JP::H2Z::h2z(\$str);
$str=Encode::decode('euc-jp',$str);
でした。
> 886
encodeを使うアドバイスありがとうございました。助かりました。
890デフォルトの名無しさん
2017/10/28(土) 14:12:24.45ID:86e9E3uL #!/usr/local/bin/perl
use strict;
use CGI::Carp qw(fatalsToBrowser);
print <<"EOM";
Content-tyoe: text/html; charset=shift_jis\n\n
<html><body>
EOM
eval {require DBI;};
if($@) {
print "DBI NG<br>\n";
} else {
print "DBI OK<br>\n";
}
undef $@;
eval {require DBD::SQLite; }
if($@) {
print "DBD::SQLite NG<br>\n";
} else {
print "DBD::SQLite OK<br>\n";
}
print "</body></html>";
sqlchk.cgiの19行目の構文エラー。 "){"
と出るんですが何が原因か分かりません。もしよろしければ教えていただけないでしょうか?
use strict;
use CGI::Carp qw(fatalsToBrowser);
print <<"EOM";
Content-tyoe: text/html; charset=shift_jis\n\n
<html><body>
EOM
eval {require DBI;};
if($@) {
print "DBI NG<br>\n";
} else {
print "DBI OK<br>\n";
}
undef $@;
eval {require DBD::SQLite; }
if($@) {
print "DBD::SQLite NG<br>\n";
} else {
print "DBD::SQLite OK<br>\n";
}
print "</body></html>";
sqlchk.cgiの19行目の構文エラー。 "){"
と出るんですが何が原因か分かりません。もしよろしければ教えていただけないでしょうか?
891デフォルトの名無しさん
2017/10/28(土) 14:36:19.07ID:yzxLOqe0892デフォルトの名無しさん
2017/10/28(土) 15:04:21.68ID:86e9E3uL 助かりました。ありがとうございました^−^
893デフォルトの名無しさん
2017/11/01(水) 19:40:06.83ID:FhCkv10M ^−^
894デフォルトの名無しさん
2017/11/01(水) 21:59:57.34ID:uQFQAfJE (^_^;
895デフォルトの名無しさん
2017/11/22(水) 19:37:11.64ID:kPeZVcC+ (^────────────^)
896デフォルトの名無しさん
2017/11/22(水) 22:55:47.27ID:oTRzAO+2 (^________________^;
897デフォルトの名無しさん
2017/11/23(木) 00:10:28.02ID:kTaFEskE :-)
898デフォルトの名無しさん
2017/11/23(木) 18:54:17.85ID:8ru0xFWh :────────────)
899デフォルトの名無しさん
2017/12/05(火) 14:22:42.29ID:nNRKwkIq APIアクセスでのレスポンスをDumperしたら下みたいに返ってきたんだけど
'https://hogehoge.hoge/'を取得するにはどうアクセスしたらいいです?
$VAR1 = bless( {
'url' => bless( do{\(my $o = 'https://hogehoge.hoge/')}, 'URI::https' )
}, 'Entity::Tag' );
'https://hogehoge.hoge/'を取得するにはどうアクセスしたらいいです?
$VAR1 = bless( {
'url' => bless( do{\(my $o = 'https://hogehoge.hoge/')}, 'URI::https' )
}, 'Entity::Tag' );
900デフォルトの名無しさん
2017/12/07(木) 10:28:22.13ID:OnTOXu6z ファイルに書くときに、closeをせず明示的にフラッシュしたいんだけど
どうしたらいいの?
selectやautoflushは明示的ではないのでできれば使いたくない
どうしたらいいの?
selectやautoflushは明示的ではないのでできれば使いたくない
901デフォルトの名無しさん
2017/12/07(木) 10:57:31.26ID:ULPWPGO9 >>900
http://perldoc.jp/docs/perl/perlfaq5.pod#How32do32I32flush47unbuffer32an32output32filehandle63-32Why32must32I32do32this63
> IO::Handle オブジェクトには flush メソッドもあります。
#!/usr/bin/perl -w
use strict;
for (1..10) {
print '.';
sleep 2;
STDOUT->flush;
}
print "!\n";
http://perldoc.jp/docs/perl/perlfaq5.pod#How32do32I32flush47unbuffer32an32output32filehandle63-32Why32must32I32do32this63
> IO::Handle オブジェクトには flush メソッドもあります。
#!/usr/bin/perl -w
use strict;
for (1..10) {
print '.';
sleep 2;
STDOUT->flush;
}
print "!\n";
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★3 [樽悶★]
- 「“なり得る”って言っただけだから…」高市早苗“存立危機”答弁後に漏らした本音 [Hitzeschleier★]
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★3 [お断り★]
- 高市首相「台湾有事」発言引き出した「立憲・岡田克也氏」に聞いた質問の真意「これはマズイ発言だと」少しずらしてみたが焼け石に水 ★2 [ぐれ★]
- 【株価】日経平均、上げ幅一時2000円超 5万円台を回復 [蚤の市★]
- トランプ氏、女性記者に「ブタ、静かに」 エプスタイン元被告めぐる質問さえぎる [1ゲットロボ★]
- 日本という国を愛するが故に日本国政府に反対する反日日本人って、逆説的だけど究極の愛国者だよな [377482965]
- 武井壮、ブチギレ。💢(クリティカルヒット) [153490809]
- コテと名無しのレクリエーション会場
- 副大臣経験者「そもそも高市首相は円安のデメリットを理解していなさそう」閣僚の側近「政権で円安についてよく理解していない人がいる」 [812874503]
- 吉村知事「あのさぁ、中国人観光客の頼るのやめようよ?他のエリアの人に来てもらうとかもっと考えようよ?中国依存してないでさァ!」 [856698234]
- 日本人「な、なぜだ?なぜこの件で日本を助けてくれる国が0カ国なんだ!?」。日本人、さすがに気づく [805596214]
