2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

Perl初心者スレ(マジレス回答)

1 :デフォルトの名無しさん:2012/10/07(日) 00:48:39.00 .net
どうぞー

2 :デフォルトの名無しさん:2012/10/07(日) 00:50:26.06 .net
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所


3 :デフォルトの名無しさん:2012/10/07(日) 01:10:26.82 .net
>>1
おつ!
ありがとうございます

4 :デフォルトの名無しさん:2012/10/07(日) 01:46:15.82 .net
マジレス?
じゃあ遠慮なく

>>1
板荒らすために立てたんじゃないならさっさと削除依頼しろクズ
本スレでさえ閑古鳥が鳴いてるのに次スレ立てるから荒らし予備軍の温床になってんだよ
今日の糞スレ乱立を見ればわかるだろ

5 :デフォルトの名無しさん:2012/10/07(日) 01:55:03.21 .net
■関連スレ

在日韓国人プログラミング
http://toro.2ch.net/test/read.cgi/tech/1349527575/

チョッパリは謝罪しる!
http://toro.2ch.net/test/read.cgi/tech/1349527506/

おちんちんを入れてください
http://toro.2ch.net/test/read.cgi/tech/1349527445/

ほむらたんをあいしてる
http://toro.2ch.net/test/read.cgi/tech/1349518465/

我らPGにしてPGにあらず
http://toro.2ch.net/test/read.cgi/tech/1349518997/

おちんちんを入れる
http://toro.2ch.net/test/read.cgi/tech/1349518715/

6 :デフォルトの名無しさん:2012/10/07(日) 01:56:03.28 .net
■関連スレその2

カチャカチャPGの叫び
http://toro.2ch.net/test/read.cgi/tech/1349518930/

プログラマー=キチガイ
http://toro.2ch.net/test/read.cgi/tech/1349518840/

チンパンジーの舞
http://toro.2ch.net/test/read.cgi/tech/1349516893/

今、ム板に必要なのはIDより板の設定変更
http://toro.2ch.net/test/read.cgi/tech/1349513203/

こんにちはみなさん。
http://toro.2ch.net/test/read.cgi/tech/1349503990/

7 :デフォルトの名無しさん:2012/10/07(日) 02:35:42.93 .net
>>1
基地害乙

8 :デフォルトの名無しさん:2012/10/07(日) 10:56:38.94 .net
初心者なので CGI と Perl の区別がつかないこともあると思いますが、
どうぞ質問してください。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
回答者が現れるまで待ちましょう。

[プログラミング自体の経験が無いひとはまずココを読む]
とほほのperl入門: ttp://www.tohoho-web.com/wwwperl.htm

[厳選・オンラインドキュメント]
perldoc.jp: ttp://perldoc.jp/
Perl メモ: ttp://www.din.or.jp/~ohzaki/perl.htm
Perl のページ: ttp://homepage1.nifty.com/nomenclator/perl/
Perl の小技: ttp://homepage3.nifty.com/hippo2000/perltips/index.htm


9 :デフォルトの名無しさん:2012/10/07(日) 11:01:39.61 .net
# [Perl 日本語処理の基礎の基礎]
# まず、以下の行を先頭に入れて下さい。

use utf8;
use open IO => ":encoding(cp932)";
binmode STDIN => ":encoding(cp932)";
binmode STDOUT => ":encoding(cp932)";
binmode STDERR => ":encoding(cp932)";
use Encode;

# 以上の内容は、日本語処理が解らない人でも、とりあえず日本語処理ができてしまう
# おまじないです。


10 :デフォルトの名無しさん:2012/10/07(日) 11:07:51.43 .net
上記の記述は1行で書くこともできます。

use encoding 'cp932'; # [Perl 日本語処理]

初心者にはこれが一番あってると思います。
徐々に経験を積んで、難しい記述にチャレンジしていきましょう。

11 :デフォルトの名無しさん:2012/10/07(日) 14:00:31.86 .net
そもそもプログラム初心者にPerl選択などありえない

12 :デフォルトの名無しさん:2012/10/07(日) 17:42:36.30 .net
初めてのPerl第6版と赤らくだ本は分量的にも内容的にもほぼ同じだしな

13 :デフォルトの名無しさん:2012/10/07(日) 19:28:07.17 .net
ここは本スレではありません。
こちらへどうぞ。

Perlについての質問箱 56箱目
http://toro.2ch.net/test/read.cgi/tech/1348141100/

14 :デフォルトの名無しさん:2012/10/07(日) 21:24:43.64 .net
↑ながらく機能していない上にCGIの質問をすると怒られます。
 Perlの質問をするとPHPの回答が返ってきます。
 それでも構わないなら、どうぞ。

15 :デフォルトの名無しさん:2012/10/07(日) 21:30:12.99 .net
やっぱりPHPの方がいいんですかね。

16 :デフォルトの名無しさん:2012/10/07(日) 21:56:55.72 .net
プログラム初心者じゃなくてPerl初心者な。PHPは卒業な。

17 :デフォルトの名無しさん:2012/10/07(日) 22:29:39.78 .net
■関連スレ

おちんちんランド開園
http://toro.2ch.net/test/read.cgi/tech/1349453856/

ム板を荒らしている連中の正体
http://toro.2ch.net/test/read.cgi/tech/1349260204/

おちんちんを舐めよう
http://toro.2ch.net/test/read.cgi/tech/1349454008/

ム板住民に言いたい1000のこと
http://toro.2ch.net/test/read.cgi/tech/1349192669/

低級言語のすばらしさ
http://toro.2ch.net/test/read.cgi/tech/1349496941/

 
http://toro.2ch.net/test/read.cgi/tech/1349502749/

ム板の住民構成
http://toro.2ch.net/test/read.cgi/tech/1349453824/

18 :デフォルトの名無しさん:2012/10/07(日) 23:09:44.68 .net
PHPでいう、in_arrayは
Perlではなんて関数ですか?

19 :デフォルトの名無しさん:2012/10/07(日) 23:44:10.62 .net
grepでいいんじゃないか?UNIXの文化な

20 :デフォルトの名無しさん:2012/10/07(日) 23:45:55.55 .net
>>19
ありがとうございます。
それからもうひとつ、
array_uniqueに相当する関数はどれでしょうか?

21 :デフォルトの名無しさん:2012/10/08(月) 00:16:19.24 .net
ハッシュのキーにして、最後にキーを取り出す

22 :デフォルトの名無しさん:2012/10/08(月) 00:29:08.71 .net
my %uniq = map { $_ => 1 } @array;
my @array_uniq = keys %uniq;


23 :デフォルトの名無しさん:2012/10/08(月) 00:37:42.34 .net
長いな。

24 :デフォルトの名無しさん:2012/10/08(月) 01:25:04.19 .net
初心者に変なもん奨めるんじゃないぞ

25 :デフォルトの名無しさん:2012/10/08(月) 01:37:02.22 .net
%u = map {$_,1} @a;
@u = keys %u;
#チヂメテミタ

26 :デフォルトの名無しさん:2012/10/08(月) 10:06:15.64 .net
my @array_unique = keys %{{map {$_,1} @array}};

perl 5.14 以降なら
my @array_unique = keys {map {$_,1} @array};

27 :デフォルトの名無しさん:2012/10/08(月) 11:07:41.23 .net
ひと頃List::Utilが湧いたのはPHPとの比較が原因か

28 :デフォルトの名無しさん:2012/10/08(月) 13:27:23.56 .net
>>26
なんかバッドノウハウ臭が強いな。

29 :デフォルトの名無しさん:2012/10/08(月) 14:21:09.99 .net
んなこたあない。

30 :デフォルトの名無しさん:2012/10/08(月) 14:24:32.17 .net
ここでList::Utilを持ち出し、直後からスレが荒れるのが定番。

31 :デフォルトの名無しさん:2012/10/08(月) 14:31:44.97 .net
あるサイトにアクセスして数値を取得してreturn $num;で値を返す関数を作ったとします
get_num();

my $num=200
while(1)
{
if(new_num() >=$num)
{
okと表示
}
}

okがうまく表示されません
毎回get_numでサイトにアクセスして取得しているというのが悪いんでしょうか?原因がわかりません教えてください


32 :31:2012/10/08(月) 14:33:07.32 .net
new_num()で取得した値は $numより大きいです
大きいのになぜか比較されずにスルーで何も表示されずループです

33 :デフォルトの名無しさん:2012/10/08(月) 14:39:56.54 .net
>あるサイトにアクセスして数値を取得してreturn $num;で値を返す関数を作ったとします
↑これは get_num() のことですか?new_num() のことですか?

get_num() は return $num; しないんですか?戻ってきた値は使わないんですか?

>毎回get_numでサイトにアクセスして
↑ get_num() は while の中にありませんが、この外にループがあるんですか?

34 :デフォルトの名無しさん:2012/10/08(月) 14:43:57.35 .net
use strict; 落ちか

腕を上げたようだな、モダンPerl。

35 :Perl忍者 ◆M5ZWRnXOj6 :2012/10/08(月) 14:44:44.21 .net
>>31
$|=1;
それかprint "ok\n";
改行いれとけ

36 :デフォルトの名無しさん:2012/10/08(月) 14:46:12.89 .net
改行入れてもループは終わらんだろw

37 :デフォルトの名無しさん:2012/10/08(月) 15:14:18.81 .net
>>31
マジレスすると
お前みたいな低脳には無理

38 :デフォルトの名無しさん:2012/10/08(月) 15:34:01.73 .net
荒らしの連立てしたスレを伸ばそうとしてる>>31は荒らし
消えろやゴミが

39 :デフォルトの名無しさん:2012/10/08(月) 15:43:26.69 .net
>>37=>>38

40 :デフォルトの名無しさん:2012/10/08(月) 16:04:33.60 .net
>>37=>>38=>>39

41 :デフォルトの名無しさん:2012/10/08(月) 16:16:12.31 .net
>>31=>>39

42 :デフォルトの名無しさん:2012/10/08(月) 17:19:35.10 .net
$|=1;
my $num=200; ←セミコロン忘れるな
while(1){
  if(get_num() >= $num){ ← get_num()、な
    print "ok\n"; ← うるせぇやつがいるから改行、な
    last; ← これなけりゃ無限ループだわな
  }
  sleep(60); ← Web にアクセスするなら忘れるんじゃねぇぞ
}

43 :デフォルトの名無しさん:2012/10/08(月) 18:01:11.94 .net
なんで>>31みたいなカスがプログラミングなんかに手を出したのか疑問。

44 :デフォルトの名無しさん:2012/10/08(月) 18:06:38.78 .net
>>43
そんなのが疑問になるのは
お前が馬鹿だからじゃないだろうか。

45 :デフォルトの名無しさん:2012/10/08(月) 18:11:25.50 .net
>>43=>>44=>>37=>>38

46 :デフォルトの名無しさん:2012/10/08(月) 18:20:57.42 .net
>>43=>>44=>>37=>>38=>>31=>>45

47 :デフォルトの名無しさん:2012/10/08(月) 18:46:17.85 .net
文字列 $str の末尾の「.cpp」を「.o」に置換し新たな文字列 $new_str を生成したいのですが
s/// だと元文字列を書き換えてしまいます
コピーしてから置換でも良いのですが、書き換えずに置換する関数や演算子はないでしょうか?

48 :デフォルトの名無しさん:2012/10/08(月) 19:10:50.54 .net
>>47
寝言は寝て言えキチガイ

49 :デフォルトの名無しさん:2012/10/08(月) 19:13:40.44 .net
>>44=>>48

50 :デフォルトの名無しさん:2012/10/08(月) 19:24:24.71 .net
>>47のような害虫はム板から駆除しなければならない。

51 :デフォルトの名無しさん:2012/10/08(月) 19:35:47.99 .net
>>47
s/// に /r を指定するとよろし

52 :デフォルトの名無しさん:2012/10/08(月) 19:47:46.05 .net
>>47
演算子一覧くらい検索すればいくらでも出てくるだろ

それすら検索できないって本物の精神異常?

53 :デフォルトの名無しさん:2012/10/08(月) 19:56:47.23 .net
>>47はプログラミングに向いてない。

54 :デフォルトの名無しさん:2012/10/08(月) 20:15:10.88 .net
煽り叩きに加えて今度はイコール厨まで参戦ですか
ほんとスレの空気を悪くすることに関しては息ぴったりですねお前ら

55 :デフォルトの名無しさん:2012/10/08(月) 20:23:58.30 .net
このスレは>>31>>47叩き基地害イコール厨等まともじゃない奴らの隔離スレだからな。

56 :デフォルトの名無しさん:2012/10/08(月) 20:35:31.31 .net
>>51
ありがとうございました
手元の資料に無かったので調べたら割と最近の仕様みたいですね

57 :デフォルトの名無しさん:2012/10/08(月) 20:43:06.24 .net
>>56
いいから二度と来るなよ

58 :デフォルトの名無しさん:2012/10/08(月) 20:48:41.51 .net
>>57
さっさと初心者を卒業しろよってことかな?
出所者を見送る看守のようだ。

59 :デフォルトの名無しさん:2012/10/08(月) 20:49:06.45 .net
>>57
来ちゃいました
テヘペロ♪

60 :デフォルトの名無しさん:2012/10/08(月) 22:37:14.94 .net
>>47はマジでクズ
2chを代理検索か何かと勘違いしてないか?

61 :デフォルトの名無しさん:2012/10/08(月) 22:47:29.05 .net
質問してこういう扱いうけて荒らしてるのかこの粘着くんはw

62 :31:2012/10/08(月) 23:31:22.78 .net
>>35
うまく出力されました
$|=1;とは何ですか?
改行の理由も教えてください

>>42
$|=1;をつける理由は?
lastだとループが終わってしまうので

63 :デフォルトの名無しさん:2012/10/08(月) 23:37:12.37 .net
>>32
>大きいのになぜか比較されずにスルーで何も表示されずループです

ループして困っているのか、ループしたいのか質問をはっきりしろ

64 :デフォルトの名無しさん:2012/10/08(月) 23:46:28.06 .net
>書き換えずに置換する

何をしたいのか

65 :デフォルトの名無しさん:2012/10/08(月) 23:58:56.98 .net
こういう糞みたいな質問してる連中がム板のレベルを下げてる

66 :デフォルトの名無しさん:2012/10/09(火) 01:13:51.30 .net
馬鹿の>>63-64が釣れたwww
マジ釣り掘りwwwww

67 :デフォルトの名無しさん:2012/10/09(火) 03:50:12.06 .net
>>61
荒らしは質問すらしてないよ。
質問者になりすましての煽りは入れてるが。

68 :デフォルトの名無しさん:2012/10/09(火) 11:14:53.75 .net
何で分かるの?
あ、ご本人様ですか。
荒らしもやりながらこんな場末の糞スレチェックまでご苦労様です。

69 :デフォルトの名無しさん:2012/10/09(火) 13:42:01.38 .net
プロキシのレスポンスタイム計るにはどうするの?
教えてくれ
6.5s
5,8sとかあるだろ?あれ

70 :デフォルトの名無しさん:2012/10/09(火) 14:26:59.97 .net
それはPerl限定の話でもなさそうだし、流石にWebProg板で聞いてくれ

71 :デフォルトの名無しさん:2012/10/09(火) 16:16:14.44 .net
PHPでいうマジッククォートみたいなのない?
sjisで送信するとき表とかがエスケープされずにエラーでちゃうんだけど
自動でエスケープしてくれる関数みたいなの無いの?
教えてください

72 :デフォルトの名無しさん:2012/10/09(火) 16:57:01.82 .net
自分で調べられないお前にはPHPがお似合いだ

73 :デフォルトの名無しさん:2012/10/09(火) 17:05:55.35 .net
>>71
ふたつのことを混同してしまってると思われる
「Perl XSS対策」「Perl Unicode」でそれぞれググれ
そして前者(XSS)にに関しては今後はWebProgへどうぞ

74 :デフォルトの名無しさん:2012/10/09(火) 17:13:03.31 .net
>>71=基地害

75 :Perl忍者 ◆M5ZWRnXOj6 :2012/10/09(火) 17:33:58.22 .net
>>71
Sjisいれろ
http://search.cpan.org/~ina/Char-Sjis/

76 :デフォルトの名無しさん:2012/10/09(火) 17:49:33.02 .net
>>72-74
追い出すなって。
ここは>>71みたいな社会のゴミ用隔離スレなんだからさ。

77 :デフォルトの名無しさん:2012/10/09(火) 20:44:10.43 .net
PHPのマジッククォートとSjisっておんなじものなのか?
微妙にやること違うと思うぞw

78 :デフォルトの名無しさん:2012/10/09(火) 22:09:35.85 .net
初心者でUnicodeはきついかもな
ごちゃごちゃしてて何がなんだかさっぱり分かんない
初心者にはshiftjisがいい

79 :デフォルトの名無しさん:2012/10/10(水) 00:13:36.93 .net
Perlスレの頭にUnicode絡みのテンプレなかったっけ

80 :デフォルトの名無しさん:2012/10/12(金) 00:36:02.70 .net
require 'jcode.pl';

だっけ?

81 :デフォルトの名無しさん:2012/10/12(金) 01:02:04.55 .net
>>80
確信ないなら書くなゴミ
さっさと失せろキメェんだよ

82 :デフォルトの名無しさん:2012/10/12(金) 01:03:01.58 .net
>>9 「use Encode; 」

83 :デフォルトの名無しさん:2012/10/12(金) 01:38:15.26 .net
それ言うなら use utf8; だろ
EncodeはUnicode以外だって扱えるんだから

でも牙が伸び過ぎると自滅してしまうこともある
ttp://blog.nakatanigo.net/archives/50474313.html

84 :デフォルトの名無しさん:2012/10/12(金) 02:28:37.13 .net
>>80は頭がおかしい。

85 :デフォルトの名無しさん:2012/10/12(金) 02:37:31.52 .net
>>82
ありがとうそこにあったのか

86 :デフォルトの名無しさん:2012/10/12(金) 03:28:56.95 .net
>>80
もう来なくてもいいよ

87 :デフォルトの名無しさん:2012/10/12(金) 12:02:40.96 .net
>>80=ゴミクズ

88 :デフォルトの名無しさん:2012/10/12(金) 15:53:07.74 .net
いつもの基地外は本スレに行けよ

89 :デフォルトの名無しさん:2012/10/12(金) 18:49:11.85 .net
↑はい、いつものキチガイ入りましたー

90 :デフォルトの名無しさん:2012/10/12(金) 21:16:15.75 .net
88はいつもただの質問者を荒し扱いしたりしてる奴だろう、放置よろ。

91 :デフォルトの名無しさん:2012/10/28(日) 18:01:11.94 .net
>>80
それです。サンクスダアイナ

92 :デフォルトの名無しさん:2012/10/28(日) 20:13:19.68 .net
初心者の彼女がjacode.pl使ってて時代の変化を感じた

93 :デフォルトの名無しさん:2012/10/31(水) 00:29:58.66 .net
いつまでもEncodeでエンコしててもしょうがないしな

94 :デフォルトの名無しさん:2012/11/06(火) 01:38:15.62 .net
ttp://kotobank.jp/word/えんこ

95 :デフォルトの名無しさん:2012/11/12(月) 19:41:16.44 .net
ActivePerl5.16.1使用中です。
---
print DAT @dat;
---
このようにして配列を書き出そうとしたのですが
なぜかテキストファイルに繁栄されません。
何か情報をご存知の方いらっしゃいませんか?

96 :デフォルトの名無しさん:2012/11/13(火) 05:02:27.13 .net
ファイルハンドルであろうDATのopen文はいかに

97 :デフォルトの名無しさん:2012/11/13(火) 22:13:06.51 .net
以下の一行スクリプトに文字を食わせて「XX月◯◯日のお知らせ!」の次の行から「-----」の前までを取り出そうとしています。
最期のs/^ +//は各行の先頭の全角の空白を取ろうとしたのですが、これが働きません。が、抜き取り自体は成功していました。
逆に、use utf8とすると/正規表現/が全くひっかかりらず何もprintされません。

perl -e '
#use utf8;
while (<>)
{
if (/\d+月\d+日のお知らせ!/) { last; };
#skip the line;
};
while (<>)
{
if (/-----/) { last; };

s/^\s+//;
s/^ +//;
print;
}'

98 :デフォルトの名無しさん:2012/11/13(火) 22:28:35.29 .net
perl -e '
use utf8;
while (<>)
{
if (/\d+月\d+日のお知らせ!/) { last; };
#skip the line;
};
while (<>)
{
if (/-----/) { last; };

s/^\s+//;
{
no utf8;
s/^(?: )+//;
}
print;
}'

99 :デフォルトの名無しさん:2012/11/16(金) 00:37:30.32 .net
どうもです。
状況なのですが、use utf8すると全くおかしいです。/\d+月… /のマッチが全く成功しないので、
目的通りの結果が出ません。uset utf8しないとうまく動きます。
実はMacのautomatorから呼び出されていてGet text from Webpage actionでとってきたテキストが
このperlに渡されているのですが…UTF-8の文字が来ているはずなのですが(指定のWebページのcharsetはUTF8)。

それはさておき
( ) / (?: )
の指摘ありがとうございました。上の行のs/^\s+//;と合わせて
s/^(?:\h| |\xc2\xa0)+//;
に書き換えました。
non breakable spaceも行頭に混じっていたので、そのUTF8表現のU+c2a0も追加。
これできれいに行頭の「空白」がとれて左詰めになりました。

とりあえずuse utf8;だけ殺して一見うまく動いているのでそれで利用を開始しました。
個人の趣味の自動化目的なのでそんな感じでまずはゴーしてしまいます。

100 :デフォルトの名無しさん:2012/11/16(金) 00:44:04.42 .net
utf8プラグマは作ったひとは使うのが簡単だと考えているんだろうけど、
使うひとにとっては非常に難しい。こういった処理モデルを理解しろと
いうほうに無理がある。結論としてはutf8プラグマは使わないほうが
よい。

101 :デフォルトの名無しさん:2012/11/16(金) 14:34:35.11 .net
もう省略の美学とか無くていいから(涙)
ぜんぜん意味がわからない
たすけて

102 :デフォルトの名無しさん:2012/11/16(金) 21:20:57.16 .net
utf8にはまるのは日本固有らしい。海外では当初から見切りをつけていて
使われることはない。

103 :デフォルトの名無しさん:2012/11/17(土) 00:49:53.31 .net
この方法で重複を削除した場合
リストの順番は変更されますか。
それとも、重複が削除されるだけで、
順番はそのままですか。

my %hash = ();
foreach (@list) {
$hash{$_}++;
}
my @unique = keys %hash;
print @unique;

ご教示ください。

104 :デフォルトの名無しさん:2012/11/17(土) 01:33:36.49 .net
The keys of a hash are returned in an apparently random order.
ハッシュのキーはランダムな順番で返されます(適当訳)
http://perldoc.perl.org/functions/keys.html

105 :デフォルトの名無しさん:2012/11/17(土) 01:55:32.07 .net
ゲーッ
ありがとうございました・・・

106 :デフォルトの名無しさん:2012/11/17(土) 17:04:11.19 .net
フリーソフトの利用は自己責任。
utf8作ったひとが助けてくれるわけじゃない。
自分の理解できる範囲内で使えってこった。

107 :デフォルトの名無しさん:2013/01/03(木) 08:49:11.83 .net
文字コードとしてのUTF-8を理解してもutf8プラグマの挙動は別物
オレオレ実装むき出しの仕様で理解できず使いづらい
そこで省略の美学になる

108 :デフォルトの名無しさん:2013/01/03(木) 09:02:50.69 .net
至らない実装は利用者が補えるが、オレオレ仕様は直せない、か

109 :デフォルトの名無しさん:2013/01/05(土) 20:10:35.16 .net
2chのソースコード読みたい
どっかに落ちてないかな?

110 :デフォルトの名無しさん:2013/01/06(日) 06:16:44.13 .net
クレクレ厨か糞がキメェんだよ

111 :デフォルトの名無しさん:2013/01/07(月) 23:54:06.18 .net
KENT本の中に似た外見のBBSってなかったっけ?

112 :デフォルトの名無しさん:2013/01/08(火) 01:05:42.37 .net
「?」じゃねーだろ確認して書き込めやゴミが

113 :デフォルトの名無しさん:2013/01/08(火) 01:51:30.58 .net
>>112
おまえ、うるさい!!

114 :デフォルトの名無しさん:2013/01/08(火) 05:40:51.47 .net
>>112
糞スレ乱立してた基地害が立てたスレの一つで何言ってんの?
ここは落書き帳だよ?

115 :デフォルトの名無しさん:2013/01/09(水) 00:11:00.04 .net
www.kent-web.com/bbs/
「2ch風」のマルチスレッド式掲示板です。トリップ機能、age/sage機能、
ID表示機能などが可能です。また表示部分をテンプレートファイルとし、
ユーザサイドでのレイアウト改造やデザイ改造が容易です。

116 :デフォルトの名無しさん:2013/01/09(水) 17:34:57.36 .net
サイトの宣伝乙

117 :デフォルトの名無しさん:2013/01/10(木) 16:07:28.37 .net
>>115
宣伝ウザい

118 :デフォルトの名無しさん:2013/01/11(金) 05:12:28.86 .net
>>115
こんなところに来てまでステマとかマジで気持ち悪いよお前
アタマおかしいんじゃねーの

119 :デフォルトの名無しさん:2013/01/12(土) 01:08:29.34 .net
>>109に回答するのが初心者スレのみっちょんだから

120 :デフォルトの名無しさん:2013/01/12(土) 03:52:42.37 .net
CGIの紹介はスレ違い
本当にここには基地害しか残ってないんだな

121 :デフォルトの名無しさん:2013/01/12(土) 10:20:36.14 .net
>>120
残って?
スレ間違えてますよ

122 :デフォルトの名無しさん:2013/01/12(土) 17:34:17.42 .net
>>120
お前、CGI知らないのか?
Common Gateway Interface(コモン・ゲートウェイ・インタフェース、
CGI)は、ウェブサーバ上でユーザプログラムを動作させるための仕組み。

件の掲示板を実現しているプログラムはPerlスクリプトだぞ?
CGIとPerlスクリプトの違いも分からないのか?

123 :デフォルトの名無しさん:2013/01/12(土) 19:33:15.48 .net
>>122の言ってることは分かるがなぜここでそれを言うのか分からない。

124 :デフォルトの名無しさん:2013/01/12(土) 19:43:06.23 .net
ここはゴミの隔離スレだからね

125 :デフォルトの名無しさん:2013/01/12(土) 21:38:40.14 .net
>>123
落書き帳と同じだから必ずしも会話が成立してる必要はないんだよ

発作的に書きたくなった内容を書き殴ればいい

このスレにいるのは心を病んでる奴がほとんどだからまともに相手してるとこっちまで病むぞ

126 :デフォルトの名無しさん:2013/01/13(日) 23:14:20.80 .net
>>120
ばかだな、お前以外におれがいることを忘れているぞ

127 :デフォルトの名無しさん:2013/01/19(土) 03:12:42.05 .net
アルパカ本ってどうよ?
リャマ本ほど人気ないみたいだけど

128 :デフォルトの名無しさん:2013/01/19(土) 23:32:55.48 .net
リャマ本をこなしてアルパカ本に進むわけだから当然脱落者がいるわな

リャマ本⇒らくだ本⇒アルパカ本

129 :デフォルトの名無しさん:2013/01/20(日) 00:04:13.22 .net
>>128
え?
らくだ本が間に入る?
あれは上級者向きの本だお

130 :デフォルトの名無しさん:2013/01/20(日) 04:06:34.04 .net
うるさいゴミ
お前が勝手に勘違いしてるだけだクズ
キメェから勘違い野郎は書き込むな

131 :デフォルトの名無しさん:2013/01/20(日) 05:48:09.14 .net
はたして>>124>>130のどちらが正しいのか

132 :デフォルトの名無しさん:2013/01/20(日) 08:48:48.95 .net
このスレ、気持ち悪いな
Perl使いにも、>>130みたいな気持ち悪い奴が多いから納得

133 :デフォルトの名無しさん:2013/01/20(日) 09:24:26.74 .net
荒らしが立てたスレだしな。
本スレはこっち。

Perlについての質問箱 57箱目
http://toro.2ch.net/test/read.cgi/tech/1353805857/

134 :デフォルトの名無しさん:2013/01/20(日) 13:19:52.11 .net
そもそも今のム板にPerlスレ立てること自体荒らし行為

135 :デフォルトの名無しさん:2013/01/20(日) 14:10:46.15 .net
WEBプログラミング@2ch掲示板でも荒らされてるぞ

3 名前:nobodyさん 投稿日:2013/01/19(土) 02:52:02.33 ID:???
カップ麺スレ増殖中・・・


4 名前:nobodyさん 投稿日:2013/01/19(土) 03:47:52.32 ID:???
とんこつ系のインスタント麺で一番旨いのってどれだろう?
あのカップに入ってるちょっと高めのやつって実は値段ほど美味しくない

http://kohada.2ch.net/test/read.cgi/php/1358518487/3-4 Perlコーディング初心者質問スレ Part 67

136 :デフォルトの名無しさん:2013/01/20(日) 14:12:27.88 .net
WEBプログラミング@2ch掲示板でも荒らされてる

3 名前:nobodyさん 投稿日:2013/01/17(木) 04:27:37.19 ID:???
またラーメンスレかw


5 名前:nobodyさん 投稿日:2013/01/18(金) 23:16:14.71 ID:???
>>4
どうせ暇でしょ?
全てのスレを食べ物の話題で
埋めたらいいやん?

http://kohada.2ch.net/test/read.cgi/php/1358342748/3-5 Perlコーディング初心者質問スレ Part 66

137 :デフォルトの名無しさん:2013/01/20(日) 14:13:55.60 .net
WEBプログラミング@2ch掲示板でも



4 名前:nobodyさん 投稿日:2013/01/16(水) 03:05:27.12 ID:???
カップ麺スレ


5 名前:nobodyさん 投稿日:2013/01/16(水) 04:54:54.33 ID:???
<前スレで出た話題>
カップラーメン
カップ焼きそば
ユーリンチー
カレー
水分の多い食品に揚げ物を入れる件
くずもち

その他詳細などについては>>1のリンクを参照


6 名前:nobodyさん 投稿日:2013/01/16(水) 20:45:34.73 ID:???
高級な料理や食品に関しての話題が出ないわけだがw

http://kohada.2ch.net/test/read.cgi/php/1358196208/4-6 Perlコーディング初心者質問スレ Part 65

138 :デフォルトの名無しさん:2013/01/20(日) 14:17:41.02 .net
WEBプログラミング@2ch掲示板で
631 名前:nobodyさん 投稿日:2013/01/14(月) 19:39:50.81 ID:???
>>627
ちゃんとしたワンタンを加えるともっと旨くなるぞ


632 名前:nobodyさん 投稿日:2013/01/14(月) 23:23:04.38 ID:???
餃子とかでいいんじゃね


633 名前:nobodyさん 投稿日:2013/01/14(月) 23:42:44.97 ID:???
ラーメン屋のラーメンに入ってるチャーシューとスーパーで売ってるチャーシューって全然違うよな。
スーパーで買ってきたチャーシューってハムとラーメン屋のチャーシューの中間っぽい。
スーパーで普通のチャーシューも売って欲しいわ。


634 名前:nobodyさん 投稿日:2013/01/15(火) 17:00:15.77 ID:+UlCw0lP
お前らってラーメン+ライスとかいける派?
俺はとんこつラーメンに限りいける


635 名前:nobodyさん 投稿日:2013/01/18(金) 19:15:41.39 ID:???
お好み焼きをおかずにご飯を食べる人種もいるらしい。

http://kohada.2ch.net/test/read.cgi/php/1343668425/631-635 Perlコーディング初心者質問スレ Part 64

139 :デフォルトの名無しさん:2013/01/20(日) 21:56:15.25 .net
Perl自体がオワコンなのにスレを立てることが間違ってる。
特に新しくPerlを学ぼうなんて正気の沙汰じゃないんだから初心者スレは不要。
せいぜい昔のPerlで作られたシステムの保守をやらされてるSE土方が情報交換するくらいだろ。

140 :デフォルトの名無しさん:2013/01/21(月) 00:12:29.99 .net
昔のPerlも覚えられず、かといって新しいPerlも覚えられない。
悔しいんですね?分かります。

141 :デフォルトの名無しさん:2013/01/22(火) 06:03:34.12 .net
あのぷっくりサスペンダーのおじさんもオワコンなの?最近見ないけど

142 :デフォルトの名無しさん:2013/01/22(火) 07:05:37.78 .net
Perl最強

143 :デフォルトの名無しさん:2013/01/22(火) 21:07:00.40 .net
荒らしが立てたスレ

144 :デフォルトの名無しさん:2013/01/22(火) 23:00:03.67 .net
古いPerlだと新しいソフトが書けないと考えるひとがいるようですね。
たいした仕事できなさそう。

145 :デフォルトの名無しさん:2013/01/23(水) 01:43:22.70 .net
どっちにしてもPerlはオワコン
PHPがここまで進化しちゃうとPerlの存在価値はどこにあるんでちゅかねーw

146 :デフォルトの名無しさん:2013/01/23(水) 01:52:30.08 .net
>>145
ワンライナー

147 :デフォルトの名無しさん:2013/01/23(水) 04:53:44.35 .net
ごった煮の点で、PHPもPerlににている → Perlとおなじような運命だろう

148 :デフォルトの名無しさん:2013/01/23(水) 05:58:31.38 .net
PHPっていうとWebアプリしか書けないイメージがある
PerlはC言語/シェルスクリプトが担っていた分野をカバーしているので
今後も使われていくだろう
Perlがオワコン説は単に初心者プログラマの脱落を意味しているだけで
もともと使っていたシステム管理者らが使うのをやめることはない

149 :デフォルトの名無しさん:2013/01/24(木) 17:21:48.69 .net
PerlっていうとWebアプリしか書けないイメージがある
PHPは当初よりかなり進化しているので
今後も使われていくだろう
Perlがオワコン説は初心者プログラマがPerlを選らばないとう現実を意味しているから
もともと使っていた老害が使い続けるだけという結末になる

150 :デフォルトの名無しさん:2013/01/24(木) 21:48:04.27 .net
PerlもPHPもどちらも書いてると、PHPの方がクソだと思えてくる。

151 :デフォルトの名無しさん:2013/01/25(金) 00:32:34.81 .net
Perlっていうとぷっくりサスペンダーのおじさんのイメージがある
ときどきアニメを例えに使うあのなぞなぞ好きなおじさんだ
甲高い声が人気なので今後も使われていくだろう
Perlがオワコン説はWindowsユーザがPerlを選ばなくなったとう現実を意味しているから
もともと使っていたJperlを使い続けるしかないということになる

152 :デフォルトの名無しさん:2013/01/27(日) 11:34:47.69 .net
perlからC言語で作った実行ファイルを実行するときC言語のソースが

printf("A");
scanf(); ---Bを入力
printf("C");

のときにこの実行ファイル実行結果ををperlで受け取るときperl側で
ACとなってしまいます。
これを
AB
C
として受け取りたいのですがどうすればいいでしょうか?

153 :デフォルトの名無しさん:2013/01/27(日) 13:15:02.04 .net
>>152
scanf()で受け取った文字列をprintf()してはダメなの?

154 :デフォルトの名無しさん:2013/01/27(日) 13:42:25.19 .net
>>152
自分で調べろよゴミが
そもそもここはスレ立て荒らしが立てたスレだ

155 :デフォルトの名無しさん:2013/01/27(日) 14:22:43.67 .net
>>152
お前みたいな馬鹿にプログラム組んでもらわなくても誰も困らないからさっさと回線切れ。

156 :デフォルトの名無しさん:2013/01/27(日) 23:46:32.04 .net
なんで自分で調べられないん?

157 :デフォルトの名無しさん:2013/01/28(月) 11:00:02.92 .net
>>152
基礎もできてないゴミの癖にうざい

158 :デフォルトの名無しさん:2013/01/29(火) 21:18:44.13 .net
futomi's CGI Cafeの「清き一票!(投票CGI)」というフリーのCGIを元に投票項目を増やしたいのですが、HTMLの方で増やしたname属性をCGIの方に反映させる方法がわかりません。

もう2週間ほどPerlについて書いてあるページを調べ回りながら試行錯誤を繰り返しているのですが、どこをどういじればいいのかよくわかりません...

ヒントだけでもいいので教えてください。お願いします。

159 :デフォルトの名無しさん:2013/01/29(火) 21:29:31.69 .net
何で作った奴にきかずに赤の他人にきいてんだ?
しかもタダで教えろとか本当にゴミだなお前。

回線切れ乞食。

160 :デフォルトの名無しさん:2013/01/29(火) 21:37:22.44 .net
>>159
すみません。
2004年に配布されたもので結構昔のものなので製作者様の方に教えてもらうことができなくて、ここなら何かヒントになることだけでも教えていただけると思ったので...

161 :デフォルトの名無しさん:2013/01/29(火) 22:19:55.44 .net
>>160
Perlを最初から勉強すればすむ話だろゴミ
それにそれが情報乞食をする理由になるの?
本当に乞食じゃねぇのこいつ

162 :デフォルトの名無しさん:2013/01/29(火) 22:30:06.20 .net
>>160
Perlを使いこなすために書籍に何万と投資をし、書籍を読んだりコードを書いたりするのに何年と時間を投資し、
そうやって身に付けたものをお前みたいなクズにタダで使う理由は?

163 :デフォルトの名無しさん:2013/01/30(水) 01:17:52.20 .net
投票項目の多いCGIプログラムを入手するのが目的なのか、Perlのスキルを
高めたいのかどっちなんだ?

164 :デフォルトの名無しさん:2013/01/30(水) 01:24:07.81 .net
READMEに全部書いてあったわ、ネタか

165 :158:2013/01/30(水) 02:59:15.11 .net
思ったほど釣れなかった

166 :デフォルトの名無しさん:2013/01/31(木) 19:36:40.96 .net
いつものキチガイしかいないしな

167 :デフォルトの名無しさん:2013/01/31(木) 23:38:52.70 .net
Perlの本質

168 :デフォルトの名無しさん:2013/02/03(日) 23:45:45.37 .net
モダンPerlの本質、な。そこ混同しないように。

169 :デフォルトの名無しさん:2013/03/01(金) 00:35:14.22 .net
モダンPerlを勧めるひとは熱心なあまりキチガイみたいに見えてしまうってこと?
でも本来のキチガイとは違って、モダンPerlやめれば症状が改善されるんだよね?

170 :デフォルトの名無しさん:2013/03/01(金) 04:28:53.25 .net
>>169
ゴミは黙ってろ

171 :デフォルトの名無しさん:2013/03/02(土) 01:42:04.04 .net
改善された例を見たことがない。キチガイは自滅してオワコンだ。

172 :デフォルトの名無しさん:2013/03/06(水) 14:29:08.45 .net
俺は間違っちゃいない!世界が間違ってるんだ!
永遠に叫び続ければいいよ。

173 :デフォルトの名無しさん:2013/12/27(金) 05:55:34.37 .net
perl覚えたけど使い道が無い

174 :デフォルトの名無しさん:2013/12/30(月) 19:13:23.07 .net
Sublime2 TextからPerl実行出来るようにしてるが頗る便利
テキストの処理がいつでも出来る
それとフォルダ毎にzip圧縮するときなんかに使ってるわ
D&Dするようなアプリだとフォルダまとめて圧縮しちまうからな

175 :デフォルトの名無しさん:2014/01/18(土) 19:07:08.88 .net
print は引数を省略できるけど、
join は引数を省略できない

どの関数は どの引数を省略できるのか
省略した時はなにがあてはまるのか

の標準関数の分の一覧ってある?

176 :デフォルトの名無しさん:2014/01/25(土) 08:40:46.49 .net
ぬおおperldoc.jpさんありがとおおお!!

177 :デフォルトの名無しさん:2014/01/25(土) 14:34:38.45 .net
プログラミングPerl 改訂版 ママゾンだと1円です

178 :デフォルトの名無しさん:2014/01/25(土) 20:50:09.90 .net
>>176
Twitterでやれ低知能

179 :デフォルトの名無しさん:2014/02/02(日) 03:06:31.84 .net
標準出力を乗っ取る機能ある?
普通にprintしてもフィアルに書き出すみたいなやつ

180 :デフォルトの名無しさん:2014/02/02(日) 03:11:10.25 .net
>>179
それって普通リダイレクトでやるもんじゃないの?

そもそも標準出力=「画面とは限らない」ものなんだから

181 :デフォルトの名無しさん:2014/02/02(日) 03:20:11.89 .net
そもそもフィアルってなんだ?
異次元デバイス?

182 :デフォルトの名無しさん:2014/02/02(日) 07:25:47.08 .net
>>179
あるよ

183 :デフォルトの名無しさん:2014/02/02(日) 14:32:34.15 .net
質問かと思ったらただの精神異常だった件。

184 :デフォルトの名無しさん:2014/02/02(日) 19:33:16.71 .net
>>179
ttp://perldoc.jp/func/select

185 :179:2014/02/02(日) 20:46:01.69 .net
>>182
ありがとう
STDOUTだったわ

186 :デフォルトの名無しさん:2014/02/03(月) 00:53:32.45 .net
>>185
二度と来るな

187 :デフォルトの名無しさん:2014/02/13(木) 00:44:22.79 .net
ただの不備を精神異常とか二度と来るなとか罵るのもどうなのよ
だから過疎ってんだよ

188 :デフォルトの名無しさん:2014/02/13(木) 01:00:25.87 .net
という精神異常者の意見。

189 :デフォルトの名無しさん:2014/02/13(木) 06:54:32.76 .net
>>187
Perl関連スレ、何故か荒らしが住み着いてるからなあ

190 :デフォルトの名無しさん:2014/02/15(土) 03:29:16.57 .net
自分が昔書いたプログラムの
a{\%$b}=c
の意味がわかりません

191 :デフォルトの名無しさん:2014/02/15(土) 03:31:13.19 .net
失礼しました正確には
$self->{a}{\%$b}=$c
でした。助けてください。

192 :デフォルトの名無しさん:2014/02/15(土) 04:51:13.29 .net
>>190-191
マジレススレだからマジレスすると、書き込み前の確認すらできないほど頭の悪い奴にプログラミングは向いてない。
早く回線切れ。

193 :デフォルトの名無しさん:2014/02/15(土) 06:01:06.70 .net
ごみがまたパールの保守性の低さを証明してくれましたw

PHPだとこういった事態の発生する可能性がパールより低い

保守性を考えるならPHP

194 :デフォルトの名無しさん:2014/02/15(土) 11:17:17.47 .net
>>190
ウザい

195 :デフォルトの名無しさん:2014/02/15(土) 13:45:31.98 .net
Perlの場合は、保守性を考えると非・オブジェクト指向のほうがいいよ
 $self->{a}{\%$b}=$c
は分かりやすくすると
 $self->{'a'}->{$b} = $c
になる
ただ $b は本当にハッシュのリファレンスなの?

196 :デフォルトの名無しさん:2014/02/15(土) 13:54:50.01 .net
質問に質問で返す愚図

197 :デフォルトの名無しさん:2014/02/15(土) 14:05:22.33 .net
>>195はコードも読めないのに住み着いてるのか・・・

198 :デフォルトの名無しさん:2014/02/15(土) 14:22:08.60 .net
あ、>>195であってたw、俺が読めてなかった、ごめんw

199 :デフォルトの名無しさん:2014/02/15(土) 14:42:56.54 .net
最近はこういう有象無象しかいないの?

200 :デフォルトの名無しさん:2014/02/15(土) 14:53:47.23 .net
>>195を貶めてる奴らも
回答できてない時点で同レベル

201 :デフォルトの名無しさん:2014/02/15(土) 14:56:05.17 .net
Perlなんか使ってる時点でw

☆統計開始以降利用人口史上最低記録絶賛更新中☆
ttp://www.tiobe.com/index.php/content/paperinfo/tpci/Perl.html

202 :デフォルトの名無しさん:2014/02/15(土) 17:11:49.28 .net
ちろべとかどうせ海外の話でしょ、ひまわりが載ってないしw

203 :デフォルトの名無しさん:2014/02/15(土) 17:18:51.05 .net
韓国も入ってないだろうな。
韓国ではRubyよりPerlのほうが圧倒的に人気だから
そんなIT人口の多いIT先進国のデータが入ってたら絶対Perlのほうが上位に来るよ。

204 :デフォルトの名無しさん:2014/02/15(土) 20:49:43.46 .net
韓国では何をきっかけにPerl人口が増えたの?例えばO'Reillyとかは韓国語版を
出していないよね?韓国のひとは何を使って勉強したの?教えてえろいひと

205 :デフォルトの名無しさん:2014/02/15(土) 21:42:43.14 .net
>>195
ありがとうございます。それをヒントに少し思い出してきたかも。

206 :デフォルトの名無しさん:2014/02/15(土) 22:15:24.73 .net
こういうクズがコミュニティの足引っ張ってんだよな

207 :デフォルトの名無しさん:2014/02/15(土) 22:32:20.62 .net
>>205
迷惑がられてる自覚はないわけね。

208 :デフォルトの名無しさん:2014/02/15(土) 22:34:34.38 .net
そう言ってるだけのお前も迷惑がられてる自覚はないわけね

209 :デフォルトの名無しさん:2014/02/15(土) 23:02:19.74 .net
荒らせればオウム返しでも何でもいいんだな

210 :デフォルトの名無しさん:2014/02/15(土) 23:18:36.63 .net
俺も荒らし…まあそうだろうなあ、自覚は無いようだけどお前も荒らしだよ?

211 :デフォルトの名無しさん:2014/02/15(土) 23:27:26.42 .net
ここは常に罵りあってる気持ちのよいスレッドですね
初心者も質問しやすくて大変良い雰囲気だと思います

212 :デフォルトの名無しさん:2014/02/16(日) 00:15:49.07 .net
>>190みたいな奴がそうなるように
仕向けてるんだよ。

213 :デフォルトの名無しさん:2014/02/16(日) 00:43:26.71 .net
リファレンスをハッシュのキーに使ってもいいの?何か間違えてない?

214 :デフォルトの名無しさん:2014/02/16(日) 00:51:25.65 .net
>>213
ドキュメントも読めないのかゴミ

215 :デフォルトの名無しさん:2014/02/16(日) 00:58:35.57 .net
そもそもPerlを選択する時点でかなり間違えちゃってるから別にいいんじゃね?w
大元で間違ってるのに枝葉の間違いばかり気にする馬鹿ってたまにいるよな。

中国産の野菜は農薬が酷いが、中国産のキャベツと中国産の白菜のどっちが安全か考える馬鹿。
そもそも中国産の野菜を選ぶ時点で間違ってると気付かない馬鹿。

低所得で納税額の少ない社会のお荷物に多い傾向。

216 :デフォルトの名無しさん:2014/02/16(日) 01:09:56.43 .net
>>215
馬鹿というより向上心がないんでしょ
一つ言語を覚えたらそこに落ち着いてしまうタイプだと思われ

217 :デフォルトの名無しさん:2014/02/16(日) 01:49:27.33 .net
向上心のない奴は何やっても駄目、他人に懇切丁寧に教えてもらって半人前とかね
居残りさせられて先生がつきっきりで人一倍教えてるのに50点しか取れない奴いただろ

218 :デフォルトの名無しさん:2014/02/16(日) 09:18:13.70 .net
新たにPerl覚える人間が居ないとでも?
良く出来たツールだと思うよ、ホント

219 :デフォルトの名無しさん:2014/02/16(日) 13:55:54.78 .net
Perlを覚えられないひとのためにできたのがPHP。PHPはPerlの機能限定版。
だからCGIにしか使えない。

220 :デフォルトの名無しさん:2014/02/16(日) 13:59:57.82 .net
流石に、PHPをCGIで使う例は稀かと

221 :デフォルトの名無しさん:2014/02/16(日) 23:07:15.10 .net
>>220
>>221みたいな認識でPHPを否定してPerlを使い続けてるのがPerl厨なんだよ

222 :デフォルトの名無しさん:2014/02/17(月) 01:44:26.48 .net
PHP使うくらいならPerl4を使うけどな、このスレ的にも

223 :デフォルトの名無しさん:2014/02/17(月) 08:01:50.33 .net
そもそも用途が全然違うものを比べる意味が解らないな

224 :デフォルトの名無しさん:2014/02/17(月) 11:11:07.50 .net
Perl使える奴がわざわざぺちぴー入れてまで使う理由がない

225 :デフォルトの名無しさん:2014/02/17(月) 21:20:39.98 .net
>>222
PHPのクラスやトレイトを
Perl4でどうやって実装するの?

226 :デフォルトの名無しさん:2014/02/17(月) 23:26:58.49 .net
必要のないものをどうして実装する必要があるのだ

227 :デフォルトの名無しさん:2014/02/18(火) 01:23:53.24 .net
2つも3つも糞スレ建ててんじゃねーよゴミPerler

228 :デフォルトの名無しさん:2014/02/18(火) 02:13:13.87 .net
それぺちぱーだろ

229 :デフォルトの名無しさん:2014/02/18(火) 22:40:42.68 .net
>>226
まず必要あるかないかは、必要あるという前提にしましょう。
別にPHP専用用語ではないのだから、世界的には必要あるという流れです。

その前提で、どうやって実装するのか答えてください。

230 :デフォルトの名無しさん:2014/02/19(水) 01:19:55.57 .net
必要あるやつが実装すればいいだけのことだな

231 :デフォルトの名無しさん:2014/02/19(水) 15:50:16.30 .net
これからは質問者が来ても全部>>230のレスしか返りません。

232 :デフォルトの名無しさん:2014/02/19(水) 20:01:53.86 .net
#!/usr/bin/perl
$buffer = $ENV{QUERY_STRING};
@pairs = split( /&amp;/, $buffer );
foreach $pair ( @pairs ){
( $name, $value ) = split( /=/, $pair );
$FORM{$name} = $value;
}
$A = $FORM{name1};
$B = $FORM{name2};
print "Content-type: text/html\n\n";
print << "_EOM_";
<html>
<body>
A*B = $A * $B
</body>
</html>
_EOM_

233 :デフォルトの名無しさん:2014/02/19(水) 20:04:58.23 .net
上みたいなプログラミングを組んで、A=とB=にそれぞれ任意の数字を入れるとA*Bの答えが表示されるようにしたいんですが、
いざ実行してみても上のプログラミングがそのまま表示されるだけで正しい結果が得られないのですが、
どうしたらよいでしょうか。

234 :デフォルトの名無しさん:2014/02/19(水) 20:09:03.95 .net
というか、どこかおかしいところがあるでしょうか?

235 :デフォルトの名無しさん:2014/02/19(水) 20:33:02.58 .net
>>232-234
おかしいのはお前の頭だ
基本的なこともできてないくせに他人に質問とか頭腐ってんじゃねーの

236 :デフォルトの名無しさん:2014/02/19(水) 20:36:13.45 .net
>>234
>>232,>>233が板違いだということに気付かないのがおかしい。

平気で板違いの書き込みをするキチガイは迷惑。

お前みたいなクズはリアルでも迷惑がられてるんだから自覚しろ。

237 :デフォルトの名無しさん:2014/02/19(水) 20:41:12.79 .net
>>232=基礎をやらずにいきなりプログラミングから入る典型的なゴミ
目的達成までの手順すら把握できてないからプログラミング以前の問題
何やっても駄目な奴のパターン
人生乙

238 :デフォルトの名無しさん:2014/02/19(水) 20:41:52.31 .net
しね

239 :デフォルトの名無しさん:2014/02/19(水) 20:47:40.29 .net
>>237
人生乙は言い過ぎ。

高卒以上なら人生乙だけど、
>>232-234みたいな小学生は
中高で挽回できる可能性がある。

240 :デフォルトの名無しさん:2014/02/19(水) 20:49:37.80 .net
一人芝居乙ですwwww

241 :デフォルトの名無しさん:2014/02/19(水) 20:50:45.28 .net
>上みたいなプログラミングを組んで、A=とB=にそれぞれ任意の数字を入れるとA*Bの答えが表示されるようにしたいんですが、
>いざ実行してみても上のプログラミングがそのまま表示されるだけで正しい結果が得られないのですが、
日記はブログに書け

>どうしたらよいでしょうか。
今すぐプログラミングやめろ
そして二度とくるな

242 :デフォルトの名無しさん:2014/02/19(水) 20:53:44.83 .net
Perl系スレは質問者が叩かれると張り切って答える奴がいるから 質問したら自演で自分を叩くのが常套手段

243 :デフォルトの名無しさん:2014/02/19(水) 20:56:43.89 .net
>>234
スレ違いのネタで荒らす以外やることないわけ?

244 :デフォルトの名無しさん:2014/02/19(水) 20:59:52.26 .net
スレ違いどころか板違い
頭が悪いにも程がある
発達障害かもな

245 :デフォルトの名無しさん:2014/02/19(水) 21:03:24.03 .net
>>232
馬鹿はPerlコミュニティの質を下げるだけだからこっちに行ってくれ。
http://kohada.2ch.net/test/read.cgi/php/1390166591/

246 :デフォルトの名無しさん:2014/02/19(水) 21:11:38.56 .net
>>232
PHPなら一瞬で片付く案件
<?php
$x = $_GET['name1'] * $_GET['name2'];
echo( $_GET['name1'] . " * " . $_GET['name2'] . " = " . $x );
?>

247 :デフォルトの名無しさん:2014/02/19(水) 21:16:25.09 .net
>>234
入門書1冊読めば大抵書いてあるはずだが・・・
本1冊買えない乞食か?
そんなに金がないならプログラムなんかやめてバイトでもしたほうがいい
日雇いでも書籍1〜3冊買える金もらえるぞ

248 :デフォルトの名無しさん:2014/02/19(水) 21:27:19.38 .net
初心者スレってかいてあるだろーが字よめねぇのかよカス

249 :デフォルトの名無しさん:2014/02/19(水) 21:34:53.78 .net
書籍すら読めないのは初心者以前に脳に異常がある

250 :デフォルトの名無しさん:2014/02/19(水) 21:42:16.32 .net
>>248
だよね。
初心者だったらスレ違いだろうが板違いだろうが
気違いだろうが許されるよね。

251 :デフォルトの名無しさん:2014/02/19(水) 22:23:35.20 .net
>>250
板違いは許されんよ。
基地外はスルーだよ。
頭悪いのはテキトーに対応するべきだよ。

252 :デフォルトの名無しさん:2014/02/20(木) 01:17:13.12 .net
初心者は自力で解決しようとしない奴のことではないぞ

253 :デフォルトの名無しさん:2014/02/20(木) 19:53:03.78 .net
>>232
A*B = $A * $B

の部分を

A*B = @{[ $A * $B ]}

254 :デフォルトの名無しさん:2014/02/20(木) 20:41:02.18 .net
>>253
板違いのゴミ(>>253)にエサを与えないでください。
エサを与えるとゴミ知能の>>253が味をしめて今後も荒らしに来るようになります。

255 :デフォルトの名無しさん:2014/02/21(金) 00:11:06.41 .net
と荒らしが申しております

256 :デフォルトの名無しさん:2014/02/21(金) 01:00:44.16 .net
>>255を見れば分かるが

「板違いは荒らし」という人間 = 荒らし

この思考回路がPerl厨

257 :デフォルトの名無しさん:2014/02/21(金) 02:50:14.54 .net
>>256
残念ながら、思考回路も間違ってるしPerl厨でもないなあ
板違いの指摘そのものは問題ではないよ、実際のところ >>232 は板違いだしな

ただ板違いへの対応ってのは
・板違いと指摘する
・徹底してスルーする
であるし
>>254 が板違いのゴミと呼ぶ >>253
「板違い」ではなく「板違いに誤った対応をした人物」でしかない。

しかも内容は相手を煽るような罵倒語ばかり。
誤った煽りは、結果的にはその人物の発言を増やすことになる。
だから >>254 も荒らしってことなんだよ。

ああ、荒らしにレスするのも荒らしだからな
俺が荒らしと言われても、勿論構わないよ?
荒らしにレスしたことには間違いないしな。

258 :デフォルトの名無しさん:2014/02/21(金) 02:51:46.89 .net
>「板違いは荒らし」という人間 = 荒らし
Perl厨はいちいちこんなこと考えてないと思うぞ。
単に 気に入らない奴=荒らし ってことだと思われる。

259 :デフォルトの名無しさん:2014/02/22(土) 22:30:28.45 .net
質問させてください。
現在、NEなのですが、社内SEを目指しています。
その時に、サーバ作業を簡単に処理させる言語が必要にりそうなのですが、
Perlは向いていますでしょうか?
掲示板とかを作るつもりはありません。作業の効率化が目的です。
隣の席のプログラマさんに聞くと、
Perlは古くてCGIにはもう未来がないよー、ってお勧めされないのですが…

260 :デフォルトの名無しさん:2014/02/22(土) 23:19:05.46 .net
>>259
IT系で上を目指そうって人間に何でPerlなんて選択肢があるわけ?
そこらへん考えたほうがいいよ。

SEならITに関しては常に最新の動向を知るためにアンテナ張ってなきゃならないし、
アンテナ張ってればPerlがいかに駄目かというこてが分かる。
SE目指すならその辺りを自分で調べられるようになってたほうがいい。

261 :デフォルトの名無しさん:2014/02/22(土) 23:25:59.25 .net
>>259
PHPのほうがいい
作業を簡単に処理させるスクリプトとかって最初はそのつもりがなくても便利ならそのまま他のものを作るときに組み込んだりする
エンジニア以外でも有用な場合はWebインターフェースにして提供することなるけどその場合にPHPで書いてあるとインターフェース作るだけですぐに提供できる

262 :デフォルトの名無しさん:2014/02/22(土) 23:28:04.79 .net
>>259
マジレスすると今現在はRuby
但し3ヵ月後、半年後は分からん
自分でその情報を追えないならSEはやめとけ
今現在既に追えてないみたいだけど

263 :デフォルトの名無しさん:2014/02/22(土) 23:50:35.64 .net
>>259
そもそもその文脈でCGIは全く関係ないよ。そこに気付けないなんて釣りだろ?

264 :デフォルトの名無しさん:2014/02/22(土) 23:56:23.80 .net
>>260-263
ありがとうございます!
javaか、PHPか、perlで悩んでました。
色々調べると、PHPが入り易そうなので、、
明日、本屋に行って、決めます。

※CGIは、掲示板とか作るのであって、検索とかするのとは違うなあ、
と思いながら、プログラマさんの意見を聞いていました。

265 :デフォルトの名無しさん:2014/02/23(日) 00:03:57.16 .net
>>264
やっぱ釣りだったか

266 :デフォルトの名無しさん:2014/02/23(日) 00:08:16.47 .net
PHPが第一候補だったのですが、某サイトで、

PHPは、WEB系以外には、まったく意味がない、との様なコメントがあり、困りました。
javaは、いきなり入るには、まだ敷居が高いかなと悩みました。
perlは、単に簡単な、検索や置換には適しているようなコメントで一気に候補に挙がりました。

これらから悩んでいたんです。コメントありがとうございます。

267 :デフォルトの名無しさん:2014/02/23(日) 00:20:28.63 .net
>>266
そのコメントとやらの投稿日時と信憑性も確認しろよ
まさか去年の夏以前の投稿で、しかも第一線で活躍してい"た"奴の投稿じゃないだろうな

3ヵ月以内の投稿で、しかも第一線で活躍してい"る"人の投稿なら信用しろ
そしてそういう人ならまずPerlを候補に挙げることはない

まぁ第一線で活躍してるわけでもない俺のこんな匿名の投稿も信憑性がないだろうから
第一線で活躍してる人がPerlなんか使わないということは自分の目で確認してくれ

268 :デフォルトの名無しさん:2014/02/23(日) 00:24:33.24 .net
>>267
投稿日時、第一線は確認していませんでした。
すみません、助言、ありがとうございます。

269 :デフォルトの名無しさん:2014/02/23(日) 00:27:42.14 .net
>>266
PHPがWeb系以外に使えんのは本当
Perlでも良いけど、RubyやPythonも有効だよ
まあ、まずは最初にシェルスクリプトだけどね

270 :デフォルトの名無しさん:2014/02/23(日) 00:38:05.80 .net
と言うか、PerlスレにPHPのこと聞く時点で釣り

271 :デフォルトの名無しさん:2014/02/23(日) 00:39:36.75 .net
>>269
>PerlとLispが結婚して隔世遺伝が黒魔術で生まれた言語。
>Javaは硬度8くらい、Pythonは6くらいになるのに対して、Rubyは3くらいになる。

との記事を見つけました。いつの記述かわからないのですが(汗)
Rubyも明日、本屋で漁ってみます。ありがとうございます。

272 :デフォルトの名無しさん:2014/02/23(日) 00:40:48.81 .net
>>270
すみません。退散します。
みなさん、マジレス、ありがとうございます。

273 :デフォルトの名無しさん:2014/03/05(水) 06:22:38.93 .net
>>232-234
_EOM_なんて使っちゃだめだよ。見づらい。

print "Content-type: text/html\n\n";
print "<html>";
print "<body>";
print "A*B = $A * $B";
print "</body>";
print "</html>";

274 :デフォルトの名無しさん:2014/03/25(火) 21:25:34.52 ID:dz69sIJc.net
>>274はちょっと疑問に思っただけで何かするのに必要なワケじゃないので無理して
答えようとしないで下さい。たぶんちょっとググった程度で分かるようなことではないです。

275 :デフォルトの名無しさん:2014/03/25(火) 21:54:24.41 ID:En8OrmpQ.net
>>274-275
http://perldoc.jp/docs/modules/encoding/encoding.pod

use encoding 'euc-jp', STDOUT => 'cp932';

但し Perl 5.18.0 以降、encoding プラグマは非推奨で将来的に削除される予定。
http://perldoc.perl.org/encoding.html#WARNING

276 :274:2014/03/25(火) 22:08:05.94 ID:dz69sIJc.net
>>275
うおお、すごい、あっさり出来てしまった・・。
今日一日↓こんなのでやろうとして泥沼にハマってました。

use encoding "euc-jp";
binmode STDOUT, ':encoding(cp932)';

スーパーハカーさんどうもありがとう〜

277 :デフォルトの名無しさん:2014/05/07(水) 01:39:02.09 ID:NfbdqxRr.net
print +(3,2,1,),"\n";

↑これ、+記号を消すと改行が反映されなくなるんですが、この+記号って
どういう意味ですか?ググるためのキーワードだけでもおねがいします。
ググると +{ } は出てきたんですが +( ) はなぜか見つかりませんでした。

278 :デフォルトの名無しさん:2014/05/07(水) 04:47:36.14 ID:nyTYPDB6.net
>>277
(print(3,2,1)), "\n";

279 :デフォルトの名無しさん:2014/05/07(水) 06:28:00.20 ID:WoJ0c0N0.net
+() は scalar () とほぼ同等。
+{}は、ブロック中の戻り値(?)をスカラーとして評価しますって意味。
+()は、リストとして評価しませんよーって意味。

perldocのperlopの
Terms and List Operators (Leftward)

Unary "+"
を参照してください。

280 :278:2014/05/07(水) 09:44:31.49 ID:NfbdqxRr.net
>>278-280
なるほど、+{ } と同じような使い方だったんですね、ありがとうございました。
perldocもこれから読んでみます、多謝。

281 :デフォルトの名無しさん:2014/05/17(土) 17:23:28.43 ID:syasv/b2.net
windowsの隠しファイルを判別する方法を教えてください

282 :デフォルトの名無しさん:2014/05/17(土) 18:53:12.61 ID:9KhUrEje.net
>>281
http://search.cpan.org/dist/Win32-File/File.pm

use Win32::File qw(GetAttributes HIDDEN);
GetAttributes($ARGV[0], my $attr) or die $!;
print +($attr & HIDDEN) ? 1 : 0;

283 :デフォルトの名無しさん:2014/05/17(土) 18:54:17.69 ID:syasv/b2.net
>>282
ありがとうございます

284 :デフォルトの名無しさん:2014/05/24(土) 13:13:06.88 ID:JzdRsmzF.net
掲示板のCGIを設置したんだけど、<a href="./bbs/mtbbs.cgi?">って感じにリンクするようにして、http://172では、ちゃんと作動したんだけど、
実際にFTPに転送すると、作動しないどころか画面が写らない
500エラーが出てくる

原因に関してはまだわかんなくて、調べてるんだけど、そもそも思ったのが<a href="./bbs/mtbbs.html">ならまだしも<a href="./bbs/mtbbs.cgi?">なんて、直にリンクすることなんてできるの?

285 :デフォルトの名無しさん:2014/05/24(土) 17:20:37.74 ID:Cq+cm/k7.net
>>284
WebProg板へドゾー

286 :デフォルトの名無しさん:2014/05/25(日) 10:23:53.30 ID:iOXakntE.net
>>284
リンクはできる
動かない原因は別にある

287 :デフォルトの名無しさん:2014/06/04(水) 10:34:27.77 ID:8N6swAY/.net
知恵袋で質問したら回答どころか閲覧すらなさすぎワロタ・・・

288 :デフォルトの名無しさん:2014/06/04(水) 15:39:06.30 ID:ZiHf6GEW.net
早くマジレスしろ屑やろう

289 :デフォルトの名無しさん:2014/06/05(木) 04:14:43.22 ID:tjfA5i3O.net
質問してもどうせまともに答えてくれないんだろうな
どこ行っても解決しないわ

290 :デフォルトの名無しさん:2014/06/05(木) 06:34:54.17 ID:Mvr5+GEe.net
Web以外で最近なんか未解決質問あったっけここ

291 :デフォルトの名無しさん:2014/06/05(木) 19:01:58.49 ID:aZWI6Ot4.net
>>290
今日も元気に残件なす!

292 :デフォルトの名無しさん:2014/06/08(日) 05:04:05.20 ID:LT2twBt5.net
複数のRSSフィードを結合して一つのRSSを生成したい。
その際、「生成されたフィード記事のリンクURLすべてを任意のリンク先に指定する。」
このやり方を教えてください。

XML::FeedPP、XML::TreePPというモジュールを用い、下記のCGIプログラムを使用して自動更新する1つのフィードを生成するところまでは出来ました。
しかし、他の部分はチョロチョロと変えることができるのですが、記事リンクだけはどうしても変えることができません。全部の記事リンクを、ある1つのリンクに変換したいだけです。

#!/usr/bin/perl

use XML::TreePP;
use XML::FeedPP;

my $feed = XML::FeedPP::RDF->new();
$feed->merge( "結合したいrssフィード1" );
$feed->merge( "結合したいrssフィード2" );
my $now = time();
$feed->sort_item();
$feed->pubDate( $now );
my $atom = $feed->to_file( "index.rdf", "UTF-8" );

print "Content-type: text/plain\n\n";
print "出力完了\n";

使ってるレンタルサーバーはロリポップです。

複数のフィード(RSS、Atomなど)をまとめるCGI
http://blog.audiofan.net/archives/491385.html
[Perl] XML::FeedPP - RSS・RDF・Atomフィードの解析・生成・変換・結合
http://www.kawa.net/works/perl/feedpp/feedpp.html
XML::FeedPP
https://metacpan.org/pod/XML::FeedPP#feed-remove_item-index-or-link
http://search.cpan.org/~kawasaki/XML-FeedPP-0.43/lib/XML/FeedPP.pm

293 :デフォルトの名無しさん:2014/06/10(火) 06:01:49.29 ID:hRaawaun.net
>>292
WebProg
http://nozomi.2ch.net/php/

294 :デフォルトの名無しさん:2014/06/10(火) 12:30:22.68 ID:zpbxFFHG.net
ttp://s1.gazo.cc/up/88224.jpg
こういった10行で一組のデータの中に
---
市民の...

yerles
warrior
---
というパターンが多くあります。
マッチ検索したいのは
---
市民の...

dog
warrior
---
というパターンです。
"市民"という文字を見つけたら
2行下に
"dog"という文字があるならば
その、"市民の..."を出力して欲しいです。

ファイル読んで単純マッチするぐらいしか今はできません
open (my $in , "<" , "./cdatan_5_101.s2");
while (<in>){
  if (/yerles/){print "matched\n"}
}
close $in;



}

295 :デフォルトの名無しさん:2014/06/10(火) 13:44:16.05 ID:kKsVvptA.net
>>294
http://ideone.com/0A9TR0

296 :デフォルトの名無しさん:2014/06/10(火) 13:58:26.18 ID:kKsVvptA.net
手抜きすぎた。

>>294
http://ideone.com/NUuEtp

297 :デフォルトの名無しさん:2014/06/10(火) 14:45:55.30 ID:zpbxFFHG.net
凄い。ありがとう。
出てきたshiftとか勉強してみます
感謝

298 :デフォルトの名無しさん:2014/06/11(水) 22:22:53.08 ID:PCU6+AOL.net
どこにshiftの出番があるのか?と思ったらそう言うことか。
普通に配列に突っ込んで、マイナスのインデクスでアクセスすりゃいいやん。
$ perl -Mvars=@a -lne 'push @a, $_ ; next if !/dog/ ; next if $a[-3] !~ /市民/ ; print $a[-3]' File
メモリ喰いが気になるのなら、
$ perl -Mvars=%h -lne '$h{$.} = $_ if /市民/ ; next if !/dog/ ; next if ! defined $h{$. - 2} ; print $h{$. - 2}' File
とか、で節約すりゃいい。、、、けど、今時そんなの気にする必要もないだろ

上のワンライナーでやってる事は、
$ perl -MO=Deparse -Mvars...略
でわかる。

299 :デフォルトの名無しさん:2014/06/12(木) 13:15:46.45 ID:qt4Roz23.net
恰好をつけるなら、リングバッファでも書くところですが、回答としては、あんまりだと思ったので。
2行固定なら、別に使わなくても。
perl -ne '($_, $x, $y) = ($x, $y, $_); $y =~ /dog/ && /市民/ && print' File

何も考えなくていいなら、正規表現でバッサリ。
perl -e 'print((local $/ = <>) =~ /(^.*市民.*\n).*\n.*dog/gm)' File

300 :デフォルトの名無しさん:2014/07/13(日) 23:15:08.85 ID:m+RTKRIb.net
>>299
1ヵ月以上もお前のレスにレスがつかないのはなぜか分かる?
お前みたいなゴミクズは誰も必要としてないからだよ。
一般社会ではあからさまに無視するわけにもいかないから当たり障りのない対応をしてもらってると思うけど、
お前ハッキリ言って迷惑だから。

ゴミクズはネットでもリアルでもできるだけ社会と接点持つな。

301 :デフォルトの名無しさん:2014/07/26(土) 13:51:21.84 ID:5yhnFgSu.net
Test Summary Report
-------------------
t/config-finder.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 26 tests but ran 0.
Files=86, Tests=923, 636 wallclock secs ( 2.64 usr 1.67 sys + 247.77 cusr 297.98 csys = 550.05 CPU)
Result: FAIL
Failed 1/86 test programs. 0/923 subtests failed.
Makefile:945: recipe for target 'test_classic' failed
make: *** [test_classic] Error 255
PETDANCE/ack-2.12.tar.gz
/usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports PETDANCE/ack-2.12.tar.gz
Running make install
make test had returned bad status, won't install without force
Failed during this command:
PETDANCE/ack-2.12.tar.gz : make_test NO

Windous上のcygwinとLinuxでCPANのackをインストールしているところでつまずきました
上のエラーはcygwinの方のエラーです
これは、curlを使えば回避できるそうですが http://d.hatena.ne.jp/katz_24/20130210/1366387522
setup.exeを利用したインストールでも何故かインストールができずに手詰まりになりました

ack-2.12.tar.gz を回答してみても訳が分かりません
ackをインストールする手はありますか?

302 :デフォルトの名無しさん:2014/07/26(土) 14:09:06.14 ID:mdOIZXZW.net
make test had returned bad status, won't install without force
まけ出来てるのならいんすこ自体は可能

303 :デフォルトの名無しさん:2014/07/26(土) 15:10:46.74 ID:5yhnFgSu.net
force installでcygwinの方に入れました
正常に動作します
ありがとうございました

Linuxの方は、手っ取り早く
sudo aptitude install ack-grep
しました

おかげさまで両方にackが揃いました
感謝します

304 :デフォルトの名無しさん:2014/08/06(水) 20:37:58.86 ID:Wa4hIBKh.net
xmlを取得して中身を
s|。|。<br>|g;
して句読点ごとに改行させたかったのですがどうしても出来ません
なにか理由があるのでしょうか
初心者なもんで変な質問をしていたらすいません

305 :デフォルトの名無しさん:2014/08/06(水) 20:41:08.65 ID:itqhygIz.net
文字コード

306 :デフォルトの名無しさん:2014/08/06(水) 20:43:50.60 ID:E5F7+XJp.net
エスパーじゃないんだから、そんな質問で答えれる訳ないだろ。
せめてサンプルとなる簡単なxmlを出せよ・・・

307 :デフォルトの名無しさん:2014/08/06(水) 21:39:48.88 ID:Wa4hIBKh.net
申し訳ないです

>>305
デコードはしています

>>306
申し訳ありません
wikipedia.simpleapi.net/api?keyword=Test&output=xml

308 :デフォルトの名無しさん:2014/08/06(水) 22:33:25.28 ID:E5F7+XJp.net
>>307
テストした結果、普通に置き換えできます。
取得方法に問題があるんだろう。
ってか、こんな質問の仕方じゃスレ全部埋まるわ・・・
問題が起きてるサンプルコード出してみ

309 :デフォルトの名無しさん:2014/08/06(水) 22:37:04.17 ID:itqhygIz.net
>>307
ちげーよ
utf8のファイルをeucのスクリプトでマッチしようとしたんじゃないの、ってこと

310 :デフォルトの名無しさん:2014/08/06(水) 22:48:45.57 ID:Wa4hIBKh.net
>>309
shift-jisのスクリプトでマッチさせようとしました
不味かったでしょうか

311 :デフォルトの名無しさん:2014/08/06(水) 23:05:36.50 ID:itqhygIz.net
>>310
なら、どっちかの文字コードにencodeして合わせる

312 :デフォルトの名無しさん:2014/08/06(水) 23:07:49.58 ID:E5F7+XJp.net
いや、よほど特別な事情がない限りは utf-8 のソースにするべき。
http://d.hatena.ne.jp/perlcodesample/20091118/1246679588
この辺読んで理解するべき。

313 :デフォルトの名無しさん:2014/08/18(月) 11:10:58.79 ID:Umc6CSTk.net
> perl -e "print (5+5)/3"
10

なんで?

314 :デフォルトの名無しさん:2014/08/18(月) 19:48:40.74 ID:3b1Nz6uJ.net
print -e "print((5+5)/3)"

315 :デフォルトの名無しさん:2014/08/19(火) 07:25:44.81 ID:o0wKf1/G.net
>>313
http://perldoc.jp/docs/perl/5.18.1/perlfunc.pod
> 括弧を使うときには、単純な、(しかし、ときには驚く結果となる規則が 適用できます:
> 関数に見えるならば、それは関数で、優先順位は関係ありません。
(略)
> Perl に -w スイッチを付けて実行すれば、こういったものには警告を 出してくれます。

316 :デフォルトの名無しさん:2014/08/19(火) 20:11:13.78 ID:pX43W7dG.net
2000年には既にwarnings実装してんのに
なんで未だに、-w推薦文章なんか残してんだろーね?
-Mwarningsのエイリアスって訳でもねーし。

317 :デフォルトの名無しさん:2014/09/02(火) 01:23:02.48 ID:ytxIDh0v.net
【誤】print -e "print ((5+5)/3)"
【正】perl -e "(print(5+5)) / 3"
ついでに -w と -Mwarnings は別物。-Mwarnings で -w の代わりになるわけではない。

318 :デフォルトの名無しさん:2014/09/02(火) 02:10:54.86 ID:EB7tqG6E.net
だが共に生きることはできる

319 :デフォルトの名無しさん:2014/09/02(火) 04:04:55.52 ID:smXsHdMQ.net
>>317
-w ≠ warningsは常識だろ。

で、「use Unicodeは、use Jcodeの代りじゃない」ってレベルの事を言ってるぞ、おまえさん。
-wが石頭だから、より制御しうるwarningsを実装したんだろが。

320 :デフォルトの名無しさん:2014/09/02(火) 07:00:12.46 ID:DO1XeoYm.net
5.20のperllexwarnがスッキリしててワラタ。

321 :デフォルトの名無しさん:2014/10/02(木) 21:11:40.29 ID:5+m7m9lZ.net
常識の根拠は常識は常識だから(真顔)

322 :デフォルトの名無しさん:2014/11/05(水) 08:46:59.07 ID:aEzkt3Do.net
再帰中に再帰の深さを出したいんだけどlocal使っていい?
local $::count = $::count + 1;
もっと普通の方法ある?

323 :デフォルトの名無しさん:2014/11/05(水) 11:35:00.61 ID:+yDKEom1.net
引数で渡す

sub foo {
  my ($arg, $count) = @_;
  ...;
  foo($arg, $count) if $count++ < 10;
}

324 :デフォルトの名無しさん:2014/11/05(水) 14:22:15.13 ID:aEzkt3Do.net
ありがとーーー。
複製される変数の数には変わりがないよね、たぶん。

上はグローバル変数と言うのが気に入らなくて、下は引数で扱う値が増えるのが気に入らないが。

325 :デフォルトの名無しさん:2014/11/05(水) 16:45:55.49 ID:aEzkt3Do.net
while(@all){ ((shift @all) eq 'cut') and last; }
whileを修飾子として書くと落ちるんだが誰か理由を教えてくれー
((shift @all) eq 'cut') and last while(@all);
evalでも落ちた

326 :デフォルトの名無しさん:2014/11/11(火) 22:49:14.07 ID:AzojYpxL.net
英数混じった文字列の中から2桁の数字にマッチさせたいのですが、
/\d\d/だと3桁以上の数字の前2桁にもマッチしてしまいます。
/^(\d\d)\D|\D(\d\d)\D|\D(\d\d)$|^(\d\d)$/ こんなことするより簡単な方法ないでしょうか? 

327 :デフォルトの名無しさん:2014/11/12(水) 00:09:33.46 ID:WHJDipVn.net
[^\d]\d{2}[^\d]

328 :デフォルトの名無しさん:2014/11/12(水) 02:38:25.07 ID:T/b7ogJF.net
% perl -le 'print q{22} =~ /[^\d]\d{2}[^\d]/'

% perl -le 'print q{22} =~ /(?<!\d)\d{2}(?!\d)/'
1
% perl -le 'print q{22} =~ /(?:^|\D)\d{2}(?:$|\D)/'
1

329 :327:2014/11/12(水) 22:11:30.88 ID:obciIUzc.net
/(?<!\d)\d{2}(?!\d)/
これが期待通りの結果が得られました。
(?<!)とか(?!)とかこれまで使ったこと無かったので勉強になりました。
ありがとうございました。

330 :デフォルトの名無しさん:2014/11/13(木) 00:03:57.67 ID:w30Rb1CY.net
テストパターンに英字が入ってませんぜ

331 :デフォルトの名無しさん:2014/11/13(木) 05:25:18.91 ID:iJHzIgO3.net
\b使えよ。便利だぞ。

332 :デフォルトの名無しさん:2014/11/13(木) 05:51:07.66 ID:DTTQy1M/.net
そりゃ\b使って期待通りの結果が出るなら使うだろ

333 :デフォルトの名無しさん:2014/11/13(木) 23:58:39.09 ID:bKuFahzS.net
以下のような日付が下から上に並んでいるoriginal.txtがあるとします。
これを、日付を逆順にしたoutput.txtに整形するプログラムを作りたいです。
Windowsで、Batch fileとPerlで作れたらと考えています。よろしくお願いします。
<original.txt>
########## 20141203 ###########
DNINITIENK
FDKHJKDKKSK
・・・・・
########## 20141202 ###########
TUNINJKDF
NIGHALKDK
・・・・・・
########## 20141201 ###########
ABCDEFGHIJKE
LMNOPQRSTUV
・・・・・
<output.txt>
########## 20141201 ###########
ABCDEFGHIJKE
LMNOPQRSTUV
・・・・・・
########## 20141202 ###########
TUNINJKDF
NIGHALKDK
・・・・・・
########## 20141203 ###########
DNINITIENK
FDKHJKDKKSK
・・・・・・

334 :デフォルトの名無しさん:2014/11/14(金) 00:03:31.59 ID:cRe1Bhcz.net
>>331
\bだと英字と数字の境目は単語の区切りにならないみたい。

335 :デフォルトの名無しさん:2014/11/14(金) 01:18:41.88 ID:VOKh6jxm.net
centosで元から入ってるperlとは別にソースインストールしたperlを別に入れました。
新しくインストールしたperlで以前から入っていたCPANモジュールを使いたい場合、再度入れなおす必要ありますか?

336 :デフォルトの名無しさん:2014/11/14(金) 02:49:12.43 ID:FARMtlO3.net
>>333
perl -Mvars=%h -ane '$a = $F[1] if @F == 3 ; $h{$a} .= $_ }{ print $h{$_} for sort { $a <=> $b } keys %h’ original.txt

>>335
モジュールの共用は避けるべき

337 :デフォルトの名無しさん:2014/11/14(金) 06:59:52.41 ID:Ul+u6aQZ.net
>>333
use 5.016;
use warnings;

my $boundary = qr/^#+\s+\d+\s+#+\s*$/;

open(my $in, "<", "original.txt") or die;

my @data;
my $chunk = '';
while(<$in>){
if (/$boundary/ and (length($chunk) > 0)){
push @data, $chunk;
$chunk = '';
}
$chunk .= $_;
}
if (length($chunk) > 0){
push @data, $chunk;
}

$in->close;

open(my $out, ">", "output.txt") or die;
$out->print(reverse @data);
$out->close;

338 :デフォルトの名無しさん:2014/11/14(金) 20:30:37.37 ID:FARMtlO3.net
単純に逆にするだけか
perl -00pe '$_ = join q{}, reverse ( split /(?=^#)/m)'

339 :デフォルトの名無しさん:2014/11/16(日) 13:54:55.61 ID:f46/IGen.net
>337,336,338
有難うございました。

340 :デフォルトの名無しさん:2015/01/12(月) 10:56:30.31 ID:av7JsOQD.net
my $initial_title_ = "\$" . "$initial_threads" . "_begin";
$initial_title_ = eval $initial_title_;

1行に短くなりませんか?

341 :デフォルトの名無しさん:2015/01/13(火) 00:30:37.15 ID:Dvj6a5BR.net
my $initial_title_ = eval "\$${initial_threads}_begin";
こういうこと?

342 :デフォルトの名無しさん:2015/01/13(火) 02:35:14.88 ID:sfvPNi0Q.net
>>341
ありがとう

eval使うのが3つあったから
6行が3行になったよ

343 :デフォルトの名無しさん:2015/01/14(水) 23:01:56.10 ID:+qvvUh8r.net
$seach_wordに日本語を入れたいのですが、それだとマッチしません。どうすればよいでしょうか?
w3m -dump -cols 160 http://peace.2ch.net/test/read.cgi/tech/1349538519/| ~/Perl_instance/resSearch.pl

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;

my $seach_word = ">1" ;
my $found_res = 0;
my $res    = "";

while (<>) {
  if (/^\d/x) {

    # out put, flash
    if ( $found_res == 1 ) {
      print $res;
      $found_res = 0;
    }
    $res = "";
  }
  else {
    # searching
    if (/$seach_word\b/x) {
      $found_res = 1;
    }
  }

  # buffer lines
  $res .= $_;
}

344 :デフォルトの名無しさん:2015/01/15(木) 09:31:41.42 ID:+X0UBnJQ.net
>>343
use open ":utf8";

345 :デフォルトの名無しさん:2015/01/15(木) 09:40:11.27 ID:+X0UBnJQ.net
あ、 binmode STDIN , ":utf8": で

346 :デフォルトの名無しさん:2015/01/15(木) 13:13:41.60 ID:WfzbS03y.net
binmode STDIN , ":utf8";
binmode STDOUT , ":utf8";
my $seach_word = "日本語" ;

で同様のコマンド叩いて、つまり344が拾えるはずが
何故かヒットしません

347 :デフォルトの名無しさん:2015/01/15(木) 18:33:41.92 ID:DbiGPAED.net
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

348 :デフォルトの名無しさん:2015/01/16(金) 16:08:36.80 ID:6B2q2EkL.net
w3m -dump -cols 160 http://peace.2ch.net/test/read.cgi/tech/1349538519/|nkf -g
UTF-8

UTF-8しか扱わないのにちょっとエンコード回りは複雑だ

349 :デフォルトの名無しさん:2015/01/19(月) 10:22:25.36 ID:AihfgHov.net
webサイトの表形式データ(横方向は5列、縦方向は不定で100行ぐらい)を取得するのに、
正規表現の繰り返しマッチング
m//g を使って、結果を配列に入れてるんだけど、
もっと簡単に取ってくるモジュールはないでしょうか?

350 :デフォルトの名無しさん:2015/01/19(月) 21:45:13.42 ID:qpn2CGqA.net
>>349
>webサイトの表形式データ

の形式が分からんとなんとも。

351 :349:2015/01/19(月) 22:36:30.03 ID:bxHKMq/8.net
>>345
ヒント助かった。

use Encode qw/encode decode/;
my $enc = 'UTF-8';
sub d($) { decode($enc, shift) }
sub e($) { encode($enc, shift) }

my $seach_word = "日本語";

my $found_res = 0;
my $res    = "";

while (<>) {
  if (/^\d/x) {
    if ( $found_res == 1 ) {
      print $res;
      $found_res = 0;
    }
    $res = "";
  }
  else {
    my $seach_word_ = e$seach_word;
    if (/$seach_word_/x) {
      $found_res = 1;
    }
  }
  $res .= $_;
}

352 :デフォルトの名無しさん:2015/01/20(火) 02:00:35.92 ID:FcML0ncg.net
>>349 >>350
例えば、こんな表です
http://ke.kabupro.jp/hist/20150107.htm

今はHTMLのソースを見て、証券コードを正規表現で抽出するために、
=~ m!<tr><th><a\shref[^>]+>(\d{4})<\/a>!ig
などとして配列へ入れているのですが、泥臭いです。

もっとスマートに取得できるモジュールは無いかと思った次第です。

353 :デフォルトの名無しさん:2015/01/20(火) 02:06:50.85 ID:FcML0ncg.net
(続き)
例えば統計計算用のRでは readHTMLTableというモジュール(パッケージ?)があり、表形式のデータを含んだurlを指定すれば、簡単に取得出来るのですが。

354 :デフォルトの名無しさん:2015/01/20(火) 07:56:47.13 ID:y2BAlbXr.net
>>352
HTML::TableExtract
http://search.cpan.org/~msisk/HTML-TableExtract-2.12/lib/HTML/TableExtract.pm

Web::Scraper
http://search.cpan.org/~miyagawa/Web-Scraper-0.38/lib/Web/Scraper.pm

355 :デフォルトの名無しさん:2015/01/20(火) 12:03:15.85 ID:NiHMzyM4.net
>>354
ありがとうございます

356 :デフォルトの名無しさん:2015/03/13(金) 20:55:35.08 ID:hJWhu2F/.net
なにこの良スレ

357 :デフォルトの名無しさん:2015/03/28(土) 10:06:58.72 ID:spJK+jxH.net
my $tmp = {
$a => sub { $_ = 処理A},
$b => sub { $_ = 処理B},
$c => sub { $_ = 処理C},
};

ループ中に↑のように書いている場合、一つの変数に対して複数の処理($a に 処理A' を追加)を
加えたい場合、どのように書くのでしょうか?

358 :デフォルトの名無しさん:2015/03/30(月) 16:12:56.05 ID:4W43OXe7.net
;

359 :デフォルトの名無しさん:2015/04/12(日) 18:06:38.92 ID:eedq/AcT.net
凄い初歩的な質問だと思うのですが真剣に行き詰まってます
教えてください

_HOGE_

こんな表記の変数ってなんて表現するんですか?
またネットでこういう変数について調べたいときは、
どのように検索したらヒットしますでしょうか。

Perl __
で検索しても全然それらしい記事が発見できず

360 :デフォルトの名無しさん:2015/04/12(日) 18:43:51.80 ID:Xaz/Qvpp.net
_HOGE_は変数じゃないからヒットしないのが正解

もしかして:ヒアドキュメント

361 :デフォルトの名無しさん:2015/04/12(日) 20:02:52.86 ID:eedq/AcT.net
なるほど・・・独自のプログラム記述なんでしょうかね・・・

Perlの変数記述方法じゃないことがわかって少し安心しました
もう一回解析してきます

362 :デフォルトの名無しさん:2015/04/12(日) 20:06:31.76 ID:eedq/AcT.net
>>360さんの回答で先入観が排除され、
意味がわかりました。

$mes =~ s/_HOGE_/$name/g;

文字列に埋め込まれた_HOGE_を別の変数に代入されてる文字列と置換させていました。
ありがとうございました。

363 :デフォルトの名無しさん:2015/04/13(月) 07:38:14.33 ID:bJ3+bESR.net
__END__
とかそんなのの仲間じゃなくて?

364 :デフォルトの名無しさん:2015/05/14(木) 07:11:03.21 ID:y4MWBEfC.net
なんでも受け付けるからって、
__HOGE__ をヒアドキュメントとして使ってる人は、単に
特殊リテラルを理解してない人。

質問に超絶遅レスするなら、
__HOGE__は、ほんとうに HOGE と書かれていたなら、
特殊リテラルのまねっこ。
DATA, END などなら、perldoc.jp で perldata から「特殊なリテラル」の項を
参照すること。

365 :デフォルトの名無しさん:2015/05/15(金) 01:58:16.40 ID:3U2TIRvt.net
>>364
どういうこと?

366 :デフォルトの名無しさん:2015/05/15(金) 02:39:32.50 ID:PxFVj8Xw.net
ヒアドキュメントのデリミタを
print <<die;
dieなんてしないよ
die

ってしたら混乱するでしょ。それと同じレベルで特殊リテラルの
記載に類似(もしくはそのまま)させて使ったら、あかんでしょ。

print <<__END__;
dieなんてしないよ
__END__

って主旨?

367 :デフォルトの名無しさん:2015/05/17(日) 23:46:03.51 ID:wdkXHT83.net
絶対にありえない単語を区切りにしないと、区切りとしての役目にならんだろが
__END__を区切りにしてしまったら、__END__という単語が使えなくなるだろ

368 :デフォルトの名無しさん:2015/05/18(月) 00:16:17.74 ID:4BIqDTjB.net
じゃあ __HOGE__ にするわ。絶対ありえん単語だし。

369 :デフォルトの名無しさん:2015/05/18(月) 00:56:57.87 ID:sNwS2iXa.net
>>367
実行してみろよ、動くぞ。

use strict ;
use warnings ;
while(<DATA>){
print ;
}

print <<__DATA__;
これがヒア
__DATA__

__DATA__
特殊リテラル

370 :デフォルトの名無しさん:2015/05/28(木) 16:11:25.87 ID:lXL23oHs.net
ID.パス付きのHPの更新通知プログラムをつくり実行したところ (certificate verify failed)とハマりました。

おそらくSSL関係でつまっています。
簡単に教えてくれる方お願いします。

$mech->get('https://*****');
↑指摘されたラインです

SSLかと思うのですが、SSLについて知識があまりないため、
ダメだった理由をわかりやすく教えていただけませんか?


あと、ユーザーIDやパスワードの前にpitgetを書いてあると
どうなるのでしょうか?

説明下手でごめんなさい。

371 :デフォルトの名無しさん:2015/06/08(月) 21:35:22.93 ID:fDJEyEgd.net
特定のディレクトリ(test)からファイルを読み込む処理を
実装しようと思っています。

while(<./test/*>){
  #〜ファイル読み込み処理
}
はOKなのに

$hoge = "./test/*";
while(<$hoge>){
  #〜ファイル読み込み処理
}
がうまくいかない理由はなぜなのでしょうか?
$hogeを可変にしたいのですがどうすればよいでしょうか?
突然の質問で申し訳ありませんが、宜しくお願いします。

372 :デフォルトの名無しさん:2015/06/08(月) 22:51:09.28 ID:tIKF3SUY.net
$hoge = "./test/*";
これは文字だからです。(演算子に対するアドレス(ポインタ)ではありません)。

$hoge = "test";
while(<./$hoge/*>)

373 :デフォルトの名無しさん:2015/06/08(月) 23:05:32.65 ID:fDJEyEgd.net
>>372
出来ました!ありがとうございます
今日かなり悩んでいました
おかげ様でスッキリしました

374 :デフォルトの名無しさん:2015/08/31(月) 00:47:28.38 ID:xgd4PpfH.net
下のようにリストのリストを作成したいがcpanか何かで実現できないでしょうか?
> (list (list 1 2) (list 3 4))
((1 2) (3 4))
> (first (list (list 1 2) (list 3 4)))
(1 2)
> (second (list (list 1 2) (list 3 4)))
(3 4)


my @car = (1, 2);
my @cdr = (3, 4);
my @both = (@car, @cdr);

print "\@car is @car\n"; # -> @car is 1 2
print "\@cdr is @cdr\n"; # -> @cdr is 3 4
print "\@both is @both\n";# -> @both is 1 2 3 4

printf "%s\n" , $both[0]; # -> 1
printf "%s\n" , $both[1]; # -> 2
printf "%s\n" , $both[2]; # -> 3
printf "%s\n" , $both[3]; # -> 4

375 :デフォルトの名無しさん:2015/08/31(月) 13:20:01.08 ID:Q0xjlAqa.net
Lisper な人?
多分、こういうことをお望みかな。

#!/usr/bin/perl

use Data::Dumper;

my @car = (1, 2);
my @cdr = (3, 4);
my @both = ( \@car, \@cdr);
print( Dumper( \@both));

376 :デフォルトの名無しさん:2015/08/31(月) 13:31:30.24 ID:Q0xjlAqa.net
ごめん、アクセス方法も書かなきゃね。

#!/usr/bin/perl

my @car = (1, 2);
my @cdr = (3, 4);
my @both = ( \@car, \@cdr);
print("$both[0]->[0]\n");
print("$both[0]->[1]\n");
print("$both[1]->[0]\n");
print("$both[1]->[1]\n");

377 :デフォルトの名無しさん:2015/08/31(月) 18:13:02.76 ID:zR+vvNwg.net
>>376
ありがとう perlのリファレンス表記がこの機会に少し分かりました

my @car = (1, 2);
my @cdr = (3, 4);
my @both = ( \@car, \@cdr);
print("$both[0]->[0]\n");
print("$both[0]->[1]\n");
print("$both[1]->[0]\n");
print("$both[1]->[1]\n");
print("@{$both[0]}\n");
print("@{$both[1]}\n");

378 :デフォルトの名無しさん:2016/01/10(日) 13:19:49.57 ID:/ndDSiBm.net
971 名前:名無しさん@七周年[] 投稿日:2006/11/11(土) 00:56:10 ID:M8+ahUZV0
自称スーパープログラマー某

強烈加齢臭
メール見ない メール無視
ドキュメント見ない ドキュメント無視
説明聞かない 説明無視
話聞かない 話無視
ガム→むっちゃー むっちゃー むっちゃー むっちゃー
煎餅→バリバリバリバリバリバリ
菓子パン→モグモグモグモグモグモグモグモグモグモグ
カップアイス→むっちゃー むっちゃー ペロペロペロペロ

フロアすべてに響き渡る 超ばかでかいくしゃみ 当然手でおさえない

異音と異振動
ドスーン!ドスーン! ドカーン!ドカーン! バコーン!バコーン! ズドン!ズドン!
机が近いとマウスポインターが飛ぶ 誤操作誘発
書類だしたりしまうだけでドカンドカン

30秒ごとに口と鼻から異音
ふんっっ!    ふんっっ!   

備品破壊 貸与P C 破壊 他人のもの破壊

奴の作ったスクリプトとプログラムは使えない バグ製造機

電話や共有携帯電話 キーボードが油ベタベタ
奴に電話とPCとコンソールは触らせてはいけない

379 :デフォルトの名無しさん:2016/11/02(水) 10:11:38.85 ID:+6JfDybA.net
HTMLファイルの特定文字列を大文字から小文字へ置き換えたいです。
具体的には、name=

380 :380:2016/11/02(水) 10:15:17.18 ID:+6JfDybA.net
あれ、途切れちゃったのでダブルクォートでおかしくなったので、無しで書きます。
HTMLファイルの特定文字列を大文字から小文字へ置き換えたいです。
具体的には、name=A10AB を name=a10ab とnameの部分のみ置き換えたいです。

381 :デフォルトの名無しさん:2016/11/03(木) 19:06:36.96 ID:OIFmvywo.net
s{ name=" ([^"]+) " }{ 'name="' . lc($1) . '"' }egx

382 :380:2016/11/03(木) 23:22:08.51 ID:k7tVkirO.net
>>381
eで関数を使えるんですね。ありがとうございました。

383 :デフォルトの名無しさん:2016/11/20(日) 01:09:58.42 ID:VOEYuZOA.net
perl コマンドラインからモジュールを読み込みたいんですが、
perl -mM Win32::Clipboard -e ""
だと
Can't open perl script "Win32::Clipboard": Invalid argument
と怒られます。

Perl64\lib\Win32\Clipboard.pm
は存在しているのですが・・・

384 :デフォルトの名無しさん:2016/11/20(日) 11:39:42.73 ID:fMzPWX9X.net
なんで -m と -M 重ねてるの?それと隙間開けずにやってみ
-MWin32::Clipboard
  ↑

385 :デフォルトの名無しさん:2016/11/20(日) 11:42:40.54 ID:fMzPWX9X.net
perl -mM Win32::Clipboard
だと M.pm を読み込んだ後 Win32::Clipboard という名のファイルをperlスクリプトとして実行しようとしてるっぽい

386 :デフォルトの名無しさん:2016/11/20(日) 19:04:30.90 ID:VOEYuZOA.net
>>384
できました。
ありがとうございました。

387 :デフォルトの名無しさん:2016/11/20(日) 21:00:33.25 ID:pMz2tkuX.net
どうでもいいけど、質問の回答に「なんで○○なの」と質問で返すのはみっともない
わからないから質問してるのにね
ここは初心者スレだし
よっぽど回答に自信が無いように見える

388 :デフォルトの名無しさん:2016/11/20(日) 21:01:48.41 ID:pMz2tkuX.net
なんで?
なんで?
なんで?
ことあるごとに、「なんで」っていうヤツ
バカっぽい
イライラする
ムカツク

389 :デフォルトの名無しさん:2016/11/23(水) 04:06:43.88 ID:eJb9MXJH.net
>>388
「なんで」を追求する楽しさがわからないの?

390 :デフォルトの名無しさん:2016/11/23(水) 10:50:03.05 ID:I/SlW2fg.net
質問を質問でかえすやついるよな
俺「なぜ変更したんですか?」
先輩「なぜ、その変更に疑問を抱くの?」

・・・

391 :デフォルトの名無しさん:2016/11/23(水) 11:10:48.33 ID:NGAFtogl.net
文脈にもよるわな
マニュアルにはっきり書いてあるようなことと違うことやっているなら「お前ちゃんと読んでないのか?」ってなるし
どう説明したら理解できるのか探るためにどう考えてどこに疑問を持ったのか確認することもあるし

そういう文脈を無視して 質問したら質問が返ってきた = おかしい は短絡的だね

392 :デフォルトの名無しさん:2016/11/23(水) 11:32:41.80 ID:I/SlW2fg.net
>>391
めんどくさい人って思われてるよw
誰もあんなに聞きにこなくね?

393 :デフォルトの名無しさん:2016/11/24(木) 21:29:28.37 ID:Puznaqkq.net
perlの本を読んでいると、よく
「スカラーコンテキストでは〜」とか「リストコンテキストでは〜」とありますが
どのようなところで、分かるのでしょうか?

$a = grep /d/ ,qw<ab cd def>;
なんかgrepがスカラーコンテキストで使われていると思うんですが

if(grep /d/ ,qw<ab cd def>){}
だとなぜスカラーコンテキストだと分かるのでしょうか?

394 :デフォルトの名無しさん:2016/11/24(木) 21:43:25.96 ID:ws/Ij8QD.net
真偽値だからスカラーコンテキスト

395 :デフォルトの名無しさん:2016/11/24(木) 22:50:56.11 ID:Puznaqkq.net
ありがとうございます
理解できました。

396 :デフォルトの名無しさん:2016/11/28(月) 20:34:11.39 ID:5mxcw3wW.net
shiftjisのファイルを読み込むと「{」が「本」にマッチしちゃうんですがいい方法ありませんか?

397 :デフォルトの名無しさん:2016/11/29(火) 00:14:31.38 ID:y3Pzho4d.net
基本全部utf8で処理する

398 :デフォルトの名無しさん:2016/11/29(火) 00:38:56.85 ID:p0rBFEu6.net
ファイルを読み込むときにperlに文字コードを教えてあげるとバイト単位ではなくて文字単位で認識してもらえるようになる
open my $fh, '<:encoding(cp932)', $file or die $!;

正規表現を含むソースコード全体をUTF8で書き、スコープの上の方で use utf8; と宣言すればスコープ内のコードも文字単位で認識されるようになる

399 :デフォルトの名無しさん:2016/11/29(火) 08:02:41.28 ID:lSOeahl6.net
>>398
レスありがとうございます。
試してみます。
取り急ぎお礼まで。

400 :デフォルトの名無しさん:2017/02/26(日) 22:46:53.99 ID:UaR+28E8.net
以下エラーが出たため、ググると、似たエラーのQ and Aがありました。
Q and A では "if(defined(%hash))"を"if(%hash)"にしろと読めたので、倣うと確かにエラーは解消されました。
理屈はまるで分からないのですが、%記号のついた変数のときだけdefinedを削る理由は何なのでしょうか。

エラー: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at ./w3mhelp.cgi line 51.
Q and A: https://github.com/bioconda/bioconda-recipes/issues/1254

401 :デフォルトの名無しさん:2017/02/26(日) 23:46:32.86 ID:03Ms8vp8.net
>>400
すごく古い Perl (例えば 5.005_03) だと、defined %hash はエラーにならず 0 か 1 が返ってきていた。
だが今やこの機能は廃止された。

http://perldoc.jp/func/defined
> 集合(ハッシュや配列)への defined の使用は非推奨です。
> これはその集合にメモリが割り当てられたかを報告するのに用いられていました。
> この振る舞いは将来のバージョンの Perl では消滅するかもしれません。

ハッシュ変数自体をスカラーコンテキストで評価すると「利用バケット数/確保バケット数」のような値が
返ってきて、これは昔から変わらない。内容が完全に未定義 = キーが一つも無ければ 0 が返される。
よって if (%hash) { ... } は、意味や挙動的には if (keys %hash) { ... } と同じ。

my %hash;
printf "%s, %d\n", scalar %hash, scalar keys %hash; # 0, 0
$hash{udnef} = undef;
printf "%s, %d\n", scalar %hash, scalar keys %hash; # 1/8, 1
%hash = ();
printf "%s, %d\n", scalar %hash, scalar keys %hash; # 0, 0

http://d.hatena.ne.jp/yumatsumo/20071207/1197002522

402 :デフォルトの名無しさん:2017/02/27(月) 00:03:03.35 ID:JWhb7pSm.net
ttps://perldoc.jp/docs/perl/5.22.0/perl5220delta.pod#defined40-64array41-32and32defined40-37hash41-32are32now32fatal32errors
>defined(@array) と defined(%hash) は致命的エラーになりました
>これは v5.6.1 から廃止予定で、v5.16 から廃止予定警告が出力されていました。

v5.6.1は2001年、v5.16は2012年、実際に廃止されたv5.22は2015年にリリース

ttps://www.effectiveperlprogramming.com/2016/06/perl-v5-26-new-features/
>A hash is scalar context will return the number of keys, not the hash statistics.
今年リリース予定のv5.26からはスカラーコンテキストのハッシュが返す値はハッシュの持つキーの数になるそうです

403 :デフォルトの名無しさん:2018/02/03(土) 21:51:51.42 ID:UEj2CeXM.net
Perl初心者です。独学でやり始めましたが、わからないことがあり、先輩方、何卒よろしくお願いします。

my $num = 1;
my $inc = $num++;
print “$num¥n”;
print “$inc¥n”;

変数$numは2と表示されますが、変数$incは1と表示さます。こらは仕様でしょうか。変数$incについても2が表示されると思ってたのですが。
C言語では右辺を評価した後に左辺に代入して、2が表示してたかな、と思ったので質問させていただきます。

404 :デフォルトの名無しさん:2018/02/03(土) 22:48:45.47 ID:oNG+vmom.net
>>403
Cでも++演算子は同様の結果になると思ったが?

405 :デフォルトの名無しさん:2018/02/03(土) 22:55:48.24 ID:UEj2CeXM.net
>>404
本当ですね。もっと確認してから質問するべきでした。
やりたかったことは
$inc = ++$num(
でした。C言語と同じですね。

ご教授頂きまして、どうもありがとうございました。

406 :デフォルトの名無しさん:2018/02/03(土) 22:57:16.17 ID:UEj2CeXM.net
>>405

$inc = ++$num;

の間違いです。

407 :デフォルトの名無しさん:2018/02/26(月) 01:22:55.04 ID:lGsQPowqG
フィボナッチ数列で軽く練習していたら足し算うまくいってません

$a = 1; $b = 1; $c = 2;
until ($c > 20000) {
($a, $b, $c) = ($b, $c, $a+$b);
print "a is $a\t" ; print "b is $b\t" ; print "c is $c\n" ;
}

408 :デフォルトの名無しさん:2018/03/03(土) 10:59:01.85 ID:3gz3rWpdg
>>407
フィボナッチ数列を{Fn}とすると、漸化式はFn+2 = Fn+1 + Fn (n ≧ 0)なので、

($a, $b, $c) = ($b, $c, $b+$c);

ついでに、Perlで$aと$bは特殊変数なので、一般的な変数として使わないこと。
untilは条件をひっくり返してwhileを使おう。

409 :デフォルトの名無しさん:2018/03/03(土) 14:36:25.76 ID:smAGhZZKz
>>408
ありがとうございます

410 :デフォルトの名無しさん:2018/05/23(水) 20:30:23.86 ID:Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

WVNXN

411 :デフォルトの名無しさん:2018/05/24(木) 02:11:41.40 ID:zOcuDZ4P.net
perlやってみたいど素人です。
Ubuntu 18.04がメインのマシンです
Windows XPサポート終了後難民となり
Ubuntu 16.04に辿りついてます
Ubuntuもまだまだど素人ですけど
通常に動かす所まではできます
Perlはどこから?始めたらいいでしょう
本買った方がいいのかな?

412 :デフォルトの名無しさん:2018/05/24(木) 02:11:43.82 ID:zOcuDZ4P.net
perlやってみたいど素人です。
Ubuntu 18.04がメインのマシンです
Windows XPサポート終了後難民となり
Ubuntu 16.04に辿りついてます
Ubuntuもまだまだど素人ですけど
通常に動かす所まではできます
Perlはどこから?始めたらいいでしょう
本買った方がいいのかな?

413 :デフォルトの名無しさん:2018/05/24(木) 07:46:52.51 ID:8nuNm7XP.net
どのみち本は買った方がいいと思うけど
初心者から始めるならこんなのもあるみたいよ(宣伝乙)
http://www.perl-entrance.org/

414 :デフォルトの名無しさん:2018/05/24(木) 11:20:03.99 ID:4N/yOXRV.net
>>413
独学派なんです。

415 :デフォルトの名無しさん:2018/06/20(水) 03:35:44.14 ID:CuTzdQY9.net
perlに初心者がつくとは。。perlの未来は明るい

416 :デフォルトの名無しさん:2018/06/20(水) 20:53:58.17 ID:Va19lMsb.net
Perl 6の“Neko operator”を使ってみたいのですがどのように使用すればいいでしょうか。
> 0 ^..^ 9
> say "0 ^..^ 9"
などとやっても
0 ^..^ 9
という文字列(?)が返ってくるだけなのですが……。

417 :デフォルトの名無しさん:2018/06/22(金) 02:01:50.03 ID:AmdeLsRG.net
Perl6は初心者なので全く分からない。
というかやろうとしたことすらないので知識ゼロw

418 :デフォルトの名無しさん:2018/06/22(金) 08:56:04.63 ID:Xz8qrSqH.net
perl6いつになったら実用的な実装出るのー?

419 :デフォルトの名無しさん:2018/06/27(水) 17:36:19.05 ID:rSBeNI25.net
>>416
すいませんどなたかこれ分かりませんか。

420 :デフォルトの名無しさん:2018/06/28(木) 00:53:58.60 ID:mceaYjQ2.net
>>419
perl6はまったく使ったことはないが、
範囲演算子らしいから
perl5の ... と同じように使うんじゃないのかね。
say $_ for 0 ^..^ 10;
みたいな? perl6の文法的にこれでいいかはわからんけど。

421 :デフォルトの名無しさん:2018/06/28(木) 03:08:38.20 ID:mceaYjQ2.net
perl5の範囲演算子 ... じゃなくて .. だったね。失礼。

422 :デフォルトの名無しさん:2018/06/28(木) 13:40:00.67 ID:n10gG+NH.net
>>420
できました。ありがとうございます。

423 :デフォルトの名無しさん:2018/06/29(金) 22:13:55.33 ID:jsqIPRMd.net
Neko演算子なんてあるのねw

424 :デフォルトの名無しさん:2018/07/04(水) 22:52:04.22 ID:gFgZc5FG.net
ANH

425 :デフォルトの名無しさん:2018/07/06(金) 12:26:50.17 ID:uTPDH9XV.net
ANH

426 :デフォルトの名無しさん:2018/07/12(木) 14:35:34.31 ID:EgbO6wCv.net
Perlの勉強始めました。

427 :デフォルトの名無しさん:2018/07/12(木) 16:09:13.97 ID:sm9NZXwJ.net
冷やし中華始めました。

428 :デフォルトの名無しさん:2018/07/19(木) 12:24:17.38 ID:0leqnnH4.net
Xorgってperlで描かれてるコマンドが多い気がするけどなんで?

429 :デフォルトの名無しさん:2018/08/03(金) 22:49:39.26 ID:G69i9RgI.net
なんだろう? 計算式で質問投稿しようとするとNGワードエラーで拒否られてしまう orz
全角でもダメかー

430 :427です:2018/08/04(土) 19:04:46.45 ID:pEPpCry/.net
これで書けるかな?

代入計算式のソースと書きたかった質問内容をマンゴースレに貼りました。
https://agree.5ch.net/test/read.cgi/mango/1532726276/421-422

431 :427です:2018/08/04(土) 19:09:36.61 ID:pEPpCry/.net
>430 の書き込みで、本来続きだった リンク先 >424 の
16進〜解説お願いできませんでしょうか?
の文章内だけでもNG含んでるとか・・・・プログラム技術板・・コミュニケーション終わってね?

432 :デフォルトの名無しさん:2018/08/05(日) 06:11:20.74 ID:cdvogGHQ.net
>>430
よくわからないんだけど、下2桁を60で割って3桁目より上は1の位にシフトしているわけだよね。
とするとあり得るのは時間の時と分について 時 * 100 + 分 とやった結果が数値として入っていて、
それの時間単位への変換ではないか?

例えば元の値が 315 なら3時間15分という意味で、それを時間単位に直すと 3.25 時間ってこと。

433 :デフォルトの名無しさん:2018/08/05(日) 06:13:27.55 ID:cdvogGHQ.net
時と分とは限らないか。分と秒かも知れない。まあしかし下2桁は60進法で考えなければいけないということに変わりはない。

434 :デフォルトの名無しさん:2018/08/05(日) 07:50:18.49 ID:cdvogGHQ.net
>>430
ところで元のプログラムに「16進バイナリデータを・・・」というコメントが入っているのだろうが、呼び出す側は実際には何を渡している?

仮に元がバイナリだったとしても unpack('N', ...) のようなことをしていない? だとするとそこでバイナリから Perl の
変数への変換自体は終わっている。

つまり、コメントが紛らわしい表現になっているだけ。

435 :427です これは書けるかな?:2018/08/05(日) 12:21:43.54 ID:gWGunr7x.net
>432-434 スミマセンです。 orz
もっと詳しく書こうとするとマンゴースレでもブロックされました。
ぶっちゃけ、この中の
ttp://motor.geocities.jp/resermail/dc10tools.zip
「dc10mov2csv.pl」内です。

gps_data{'latitude'}の部分からです

gps_data{'bearing'}の式は
変換が単精度浮動小数点数(float)のIEEE754 単精度float変換で合ってますか?

これをベースに別メーカー機種の同様な構造を持つデータでの他言語の変換プログラムを考えているので。

436 :デフォルトの名無しさん:2018/08/05(日) 17:23:40.10 ID:cdvogGHQ.net
>>435
pack, unpack の f は機種依存なので IEEE 754 単制度になるかどうかはプログラムからだけではわからない。
http://perldoc.jp/func/pack
まあでも今時の普通のPC用Perlならなってそうな気がするけどね。

latitude って緯度か。GPSデータのバイナリをPerlの変数に入れているということだな。
だから下2桁を60進法で考える必要があると。

やはりそのプログラムのコメントは紛らわしいってだけだよ(サブルーチン名も紛らわしいが)。
bin_convert 呼ぶときには既にバイナリから float に unpack されてるから。
で、bin_convert 内でやっているのは先に書いた通り下2桁を60進法で小数点以下の値にしてるってことね。

437 :427です:2018/08/05(日) 21:57:54.47 ID:gWGunr7x.net
>>436
ありがとうございます。
全体からずらして抜いたもの60進法にしてるだけなんですね。
てっきりバイナリから浮動小数点を出す特殊計算かと思っていました。
適当にがんばります。

438 :デフォルトの名無しさん:2018/10/05(金) 20:29:10.24 ID:ZpFL29Ml.net
「サンプル」のCSVを文末の「結果」に変換するプログラムをPerlで作りたいです。
● サンプルのCSVの構造:
1コラム目:数字8桁の昇順、2コラム目:数字1桁、3コラム目:文字列
● 作りたいプログラム:
1コラム目、3コラム目は保持する。複数レコードで1コラム目に重複があれば、
それらの複数レコードの2コラム目の1桁数字を連番にする。
1コラム目に重複がない場合は、当該レコードの2コラム目を1にする。

● 「サンプル」
06030002,6,文字列A
06030004,3,文字列B
06030004,4,文字列C
06030004,5,文字列D
06030005,3,文字列E
06030005,4,文字列F
06030006,3,文字列G
06030006,4,文字列H
06030006,7,文字列I
06030007,3,文字列J
06030008,3,文字列K
● 「結果」
06030002,1,文字列A
06030004,1,文字列B
06030004,2,文字列C
06030004,3,文字列D
06030005,1,文字列E
06030005,2,文字列F
06030006,1,文字列G
06030006,2,文字列H
06030006,3,文字列I
06030007,1,文字列J
06030008,1,文字列K

439 :デフォルトの名無しさん:2018/10/05(金) 21:39:08.56 ID:liWk4NPs.net
まずは自分で書いてみたコードを晒すところからだな。

440 :デフォルトの名無しさん:2018/10/05(金) 22:57:27.02 ID:kjx9soPU.net
一行プログラムが思い浮かんだ。

最初の列をハッシュのキーにして3列目をpush。
全部読んだらキーをソートして読んだ内容に番号降りつつ出力。

しかし俺は今電車の中からスマホで書いてるのでここに書く気が起きない。

441 :デフォルトの名無しさん:2018/10/06(土) 00:22:39.61 ID:mGKg2bAW.net
Ruby で作った

require 'csv'

count = Hash.new( 0 ) # 初期値は、0

# コロン区切りのCSV 入力ファイルを、1行ずつ処理する
CSV.foreach( "input.csv" ) do |row|
count[ row[ 0 ] ] += 1
row[ 1 ] = count[ row[ 0 ] ]

puts row.join( "," )
end

442 :デフォルトの名無しさん:2018/10/06(土) 02:20:13.04 ID:m3dYH3N7.net
考え方は >>441 と同じ

perl -pe "s/^([^,]+,)[^,]+/$1.++$count{$1}/e" < sample.csv

443 :デフォルトの名無しさん:2018/10/06(土) 03:33:56.69 ID:gPBhgV7B.net
my @y = "";
while(<>) {
my @x = split ",";
# $x[1] = $x[0] eq $y[0] && ++$y[1] || 1;
$x[1] = $x[0] ne $y[0] || ++$y[1];
print join ",", (@y = @x);
}
ウチでやるならこうかしら

444 :438:2018/10/06(土) 06:07:28.44 ID:J8Y2BFN6.net
おはよう。

元のテキストが s.txt に入っているとして、こうする。

perl -ne 'chomp;@d=split/,/;push(@{$h{$d[0]}},$d[2]);END{for(sort keys%h){for($i=0;$i<@{$h{$_}};$i++){print join(",",$_,$i+1,$h{$_}[$i])."\n"}}}' s.txt

なげーなw

445 :438:2018/10/06(土) 06:21:52.15 ID:J8Y2BFN6.net
あ、そうか。貯め込む必要はなくてハッシュ作ってそのまんま出せば良いんだよな。

じゃあawkの方が楽ではないか?

awk -F, 'BEGIN{OFS=","}{n[$1]++;print $1,n[$1],$3}' s.txt

446 :デフォルトの名無しさん:2018/10/06(土) 17:28:12.58 ID:MMGbFZjG.net
436です。皆様ありがとうございました。
自分では1行ずつ処理することまでしかできず、複数レコードの
1コラム目の比較をすることができませんでした。
おかげさまで体育の日に子供の運動会に行けます!
ありがとうございました!

447 :デフォルトの名無しさん:2018/11/11(日) 14:10:45.60 ID:eqm/EHYd.net
上の方のレスにも関連したものがありますが、
ファイルから読み込んだ文字列データにて
パターンマッチがヒットしません。
同一文字列を直接コード内に定義すると、ヒットします。

出来ればファイルに切り出したいので、
ご教示いただけますでしょうか。

448 :デフォルトの名無しさん:2018/11/11(日) 14:11:11.73 ID:eqm/EHYd.net
[環境]
Activeperl win8.1 or 2016 server
perl -v
This is perl 5, version 24, subversion 3 (v5.24.3) built for MSWin32-x64-multi-thread

[コード utf-8で作成]
#res[1]にはcp932のコードの「テスト」を含む文字列が格納されている。
$res[1] = Encode::decode('cp932', $res[1]);

#patern.txtはutf-8で「テスト」の文字列が格納されている。
open (FILE, "<:utf8", "patern.txt") or (die "$!");
my $line = <FILE>;
close(FILE);
#$line = 'テスト';←#を外して直接コードに書くとヒットする。
print encode('cp932', $line);(正常に取得できている。)

if ($res[1] =~ /$line/){
print "Hit!";
} else{
print "not Hit";
}

---出力---
>テスト
>not Hit

449 :デフォルトの名無しさん:2018/11/11(日) 16:14:59.60 ID:56YuZzmp.net
>>448
改行文字の有無?

450 :デフォルトの名無しさん:2018/11/11(日) 18:17:18.70 ID:t5AG7sJB.net
たぶんそれだな。$line の中身が "テスト\r\n" または "テスト\n" になってそう。

451 :デフォルトの名無しさん:2018/11/12(月) 00:16:54.10 ID:MtlIUxHY.net
chomp($line); するべき

452 :デフォルトの名無しさん:2018/11/12(月) 07:45:13.53 ID:8fj5l105.net
遅くなりすみません。
テストファイルには改行を入れていなかったのですが、
chompが必要なのですね。
ファイルからレコードを取得するにはchompが必要と勉強になりました。
ありがとうございました。

453 :デフォルトの名無しさん:2018/11/12(月) 09:22:08.61 ID:I5PkaEyl.net
>>452
いや、改行は入っていると思うぞ。でなければあのプログラムでは一致する。

454 :デフォルトの名無しさん:2018/11/13(火) 17:15:58.77 ID:WOZg75XW.net
utf-8がボムがついている可能性もあるね

455 :デフォルトの名無しさん:2018/11/13(火) 17:46:33.84 ID:/6RlnNZj.net
ところでUTF-8にBOMってなんか意味あるの?
ビッグエンディアンで上のビットから詰め込んで並べている1パターンしかないよね?

456 :デフォルトの名無しさん:2018/11/13(火) 18:09:12.36 ID:3HdfrOce.net
>>455
あるよ、BOMがあればUTF-8だと文字コードを
簡単に判定できる

つまり、文字化け防止に役立つ
みんなBOM付けるようにすれば良かったんだけどな

457 :デフォルトの名無しさん:2018/11/13(火) 19:44:37.81 ID:/6RlnNZj.net
あー。magic用か。

458 :デフォルトの名無しさん:2018/11/14(水) 00:34:48.87 ID:efwoHdbt.net
>>452
ですが、改行が入っていました。
遅くなりすみません。
すみませんでした。確認をしっかりします。

もう一つ質問があるのですが、>>452の環境にて、パターンマッチングを、全角、半角、ひらがな、カタカナ、大文字、小文字を区別することなく行いたいのですが、方法をご教示いただけますでしょうか。

459 :デフォルトの名無しさん:2018/11/14(水) 09:45:09.68 ID:bDqFuzUS.net
>>458
手順としてはまず比較に都合のいいように比較する側とされる側の文字列を正規化する。
例えば半角は全て全角にし、濁点や半濁点はそれを含んだ文字にし、英小文字は大文字にする。
それから比較を行う。

ただし使われている文字がASCIIの文字だけならば // のオプションで i が使えるので正規化不要。

460 :デフォルトの名無しさん:2018/11/14(水) 12:24:46.73 ID:XfG22Q3S.net
教えて下さい。

my @str4=['a','b','c','d','e'];
my $ref4=\@str4;

print $str4[0][1],"\n"; # b
print @{ $str4[0] },"\n"; # abcde

ref4を使って同様に b と abcde を表示するには、どうしたらいいですか?

461 :デフォルトの名無しさん:2018/11/14(水) 12:38:11.11 ID:XfG22Q3S.net
うっかり自己解決しました。数時間悩んだのに。
print @{ ${ $ref4 }[0] };
print @{ ${ $ref4 }[0] }[1];

462 :デフォルトの名無しさん:2018/11/14(水) 19:36:24.69 ID:dXHPcciK.net
>>459
オプションで可能であればと思ったのですが、マッチング文字列と対象を同じ文字種にしないといけないんですね。
ActivePerlでUnicode::Japanese
でUTF8から変換して書いてみたのですが、cp932にencodeすると、化けてしまい、使用できませんでした。
ActivePerlで使用可能なモジュールあればコードではなくてかまいませんので、何かあれば紹介してもらえますでしょうか。

463 :デフォルトの名無しさん:2018/11/14(水) 20:41:47.52 ID:bryEJhFF.net
UNICODEにはcomposed、decomposedというややこしいものもあるんだよね。
https://pointoht.ti-da.net/e8205606.html
Unicode::Normalizeってのがあるけど、日本語を特別扱いしてくれたりはしなさそうな予感。

464 :デフォルトの名無しさん:2018/11/14(水) 22:57:23.73 ID:otO/yyOk.net
>>455-457
Linux では、BOM なしUTF-8 を使う、アプリ開発者が多く、
BOMありにするとバグるアプリがあるから、BOMなしを使っているけど、

そうすると、Windows では、sjis と区別がつかなくなり、
Explorer での文字列検索ができなくなる

だから、Windows10 で、WSL, Ubuntu を導入して、grep を使っている

465 :462:2018/11/14(水) 23:51:54.30 ID:otO/yyOk.net
結合文字列をUnicode正規化で合成する方法の危険性
https://qiita.com/monokano/items/d4c37d9bc9833eaeda6e

濁点・半濁点を別の1文字として扱う、結合文字列はMac だけだから、Mac を使わないなら関係ない

Unicode正規化は、日中韓で、別の漢字に変換されるものがあるから使えない

Ruby では、sjis・UTF-8 の変換は、ファイル読み書き時に指定できる。

CRLF・LF の改行コードの違いは、意識したことがない。
chomp とか、どちらの改行コードでも、正常に動く

466 :462:2018/11/15(木) 00:11:38.19 ID:g74yzjtM.net
【 nkf 】コマンド――文字コードと改行コードを変換する
http://www.atmarkit.co.jp/ait/articles/1609/29/news016.html

これで全角・半角の変換もできる

Perl にも、モジュールもあるのでは?

467 :デフォルトの名無しさん:2018/11/21(水) 22:55:48.65 ID:M0TZNmLm.net
>>466
有料ですがnkfのActivePerl用をnamazuというところから購入しましたが、
nkfで変換後、utf8でマッチングが不可能で調査中です。

468 :デフォルトの名無しさん:2018/11/21(水) 23:00:44.11 ID:M0TZNmLm.net
ハッシュを要素に持つハッシュへのアクセスについて
ご教示いただけますでしょうか。
下記のコードで、読込は正常に完了しますが、出力が不可能です。
$$を使用したり、試しましたがギブアップです。

#hash.txtの中身(タブ区切り)
#1 10 テスト1
#2 5 テスト2

use Encode;
use utf8;
my %table;
my %rec;

open (FILE, "<:utf8", "hash.txt") or (die "$!");
while(my $line = <FILE>){
 chomp($line);
 @d = split(/\t/, $line);
 %rec = ('id' => $d[0], 'count' => $d[1], 'name' => $d[2]);
 $table{$d[0]} = \%rec;
 print encode('cp932', $table{$d[0]}{'id'})."\t". encode('cp932', $table{$d[0]}{'count'})."\t".encode('cp932', $table{$d[0]}{'name'})."\n";
}
close(FILE);
print Encode::encode('cp932', "読込完了\n");

foreach my $row (@$wrote_num){
 #出力不可能
 print encode('cp932', $row{'id'})."\t". encode('cp932', $row{'count'})."\t".encode('cp932', $row{'name'})."\n";
}
print Encode::encode('cp932', "$出力完了\n");

469 :デフォルトの名無しさん:2018/11/22(木) 00:04:25.39 ID:V9xGGA7p.net
wrote_numが何か分からんけど
my %rec; はwhile内にしたらどうですか
あと、$rowはハッシュのリファレンスだろうから$row->{'id'}では

470 :デフォルトの名無しさん:2018/11/22(木) 10:12:03.32 ID:iCX1SQ90.net
>>469
すみません、レス用に書き換えた元がwote_numでした
下記の様に変えましたが、アクセスできません。
意外と難しいですね。
use Encode;
use utf8;
my %table;


open (FILE, "<:utf8", "hash.txt") or (die "$!");
while(my $line = <FILE>){
chomp($line);
@d = split(/\t/, $line);
my %rec = ('id' => $d[0], 'count' => $d[1], 'name' => $d[2]);
$table{$d[0]} = \%rec;
 print encode('cp932', $table{$d[0]}{'id'})."\t". encode('cp932', $table{$d[0]}{'count'})."\t".encode('cp932', $table{$d[0]}{'name'})."\n";
}
close(FILE);
print Encode::encode('cp932', "読込完了\n");


foreach my $row (@$table){
print encode('cp932', $row->{'id'})."\t". encode('cp932', $row->{'count'})."\t".encode('cp932', $row->{'name'})."\n";
}
print Encode::encode('cp932', "$出力完了\n");

実行結果:まだアクセスできません
>hash_test.pl
1 10 テスト1
2 5 テスト2
読込完了
出力完了

471 :デフォルトの名無しさん:2018/11/22(木) 10:30:19.76 ID:Enb78Zev.net
これでいけると思いましたが、玉砕でしたw

foreach my $row (@$table){
 while (my ($id, $count, $name) = each(%row)){
 print encode('cp932', "$id\t$count\t$name\n");
}

472 :デフォルトの名無しさん:2018/11/22(木) 10:54:51.08 ID:iCX1SQ90.net
これでいけました!
foreach my $row (keys %table){
 print encode('cp932', "$table{$row}{'id'}\t$table{$row}{'count'}\t$table{$row}{'name'}\n");
}
>hash_test.pl
1 10 テスト1
2 5 テスト2
読込完了
1 10 テスト1
2 5 テスト2
出力完了

ただ、key を外して foreach my $row (%table)とすると下記の通り改行が入ります
1 10 テスト1

2 5 テスト2

出力完了

473 :デフォルトの名無しさん:2018/11/22(木) 11:07:56.03 ID:Enb78Zev.net
これで全てのハッシュ要素を出力できますが、
カラム順が不確定になってしまいますね。
ハッシュなので仕方ないことですかね。

foreach $row (sort keys %table) {
 foreach $col (sort keys %{$table{$row}}) {
 print encode('cp932', "$table{$row}{$col}\t");
}
print "\n";
}
>hash_test.pl
1 10 テスト1
2 5 テスト2
読込完了
5 2 テスト2
10 1 テスト1
出力完了

474 :デフォルトの名無しさん:2018/11/22(木) 12:53:27.47 ID:+z2Jd1go.net
>>473
キーだけ別の配列に取っといてそれ使えば?

475 :デフォルトの名無しさん:2018/11/25(日) 19:58:05.78 ID:Ngr2zrFy.net
>>474
できれば要素をカラム名でアクセスしたいのでハッシュの方がいいのですが、カラム順固定出力は配列しかないということですね。

476 :デフォルトの名無しさん:2018/11/25(日) 21:54:59.45 ID:CqrOufwt.net
両方使えば良いのでは たまにやるよ

477 :デフォルトの名無しさん:2018/11/26(月) 04:07:41.06 ID:LFi/GsCA.net
>>473
foreach $col (sort keys %{$table{$row}}) {

foreach $col (qw/id count name/) {
とかでは? keyの名前も順番も分かってるんだし。

478 :デフォルトの名無しさん:2019/06/24(月) 04:43:33.88 ID:4+LiJo6+.net
自分が昔質問したことにたいして今なら回答できる
<> は <STDIN> の単なる略ではなく
@ARGV が捕れない副作用があった
そこに詰まっていた

#!/usr/bin/env perl
use 5.010;


if (-p STDIN) {

print "May be pipe is used. I've got STDIN as below\n";

# my @lines = <STDIN>; # when <> used, perl think no @ARGV

map {state $i; ++$i;print "$i $_" } <STDIN>;

}

else {

print "This may be just single running.\n";

}


map {state $i; ++$i; print "$i argment found ==> $_\n"} @ARGV;

479 :デフォルトの名無しさん:2019/08/29(木) 20:58:11.72 ID:72vdfcsY.net
タグを除去したいのですが、<>も文に入っているため
<.*?>ではなく<("[^"]*"|'[^']*'|[^'">])*>を使いたいのですが
perl -pe '<("[^"]*"|'[^']*'|[^'">])*>'
にする場合どれどれをエスケープすればよいでしょうか?
’だけだと動きませんでした。
perl -pe '<("[^"]*"|\'[^\']*\'|[^'">])*>'

480 :デフォルトの名無しさん:2019/08/30(金) 12:09:22.02 ID:VkI78Ia/.net
除去?だったらs/パターン//gみたいにやらないと何も変わらないのでは?
てか、それエラーにならないの?

481 :デフォルトの名無しさん:2019/08/30(金) 13:51:46.18 ID:XCxRWcZV.net
5chの書き込みのほう、つけ忘れてました
perl -pe 's/<("[^"]*"|'[^']*'|[^'">])*>//g'
です

perl -pe 's/<.*?>//g'は動くんですけど

perl -pe '<("[^"]*"|\'[^\']*\'|[^'">])*>'だと動かないんですよね

482 :デフォルトの名無しさん:2019/08/30(金) 13:52:36.95 ID:XCxRWcZV.net
またやっちゃった
perl -pe 's/<("[^"]*"|\'[^\']*\'|[^'">])*>//g'

483 :デフォルトの名無しさん:2019/08/30(金) 17:21:58.25 ID:8Dc5lx9D.net
こうか?
perl -pe 's/<("[^"]*"|'"'"'[^'"'"']*'"'"'|[^'"'"'">])*>//g'
perlというよりシェルのシングルクォートの問題

484 :デフォルトの名無しさん:2019/08/30(金) 17:42:16.91 ID:fIMZQtfT.net
そこまでするくらいなら HTML::Parser を使う方がいいと思うよ。

485 :デフォルトの名無しさん:2019/08/30(金) 17:56:41.24 ID:XCxRWcZV.net
>483
できました!、ありがとうございます。
'を'""'で括るのですね
なんで\でエスケープにならないんでしょうね

486 :デフォルトの名無しさん:2019/08/30(金) 18:04:26.61 ID:XCxRWcZV.net
パーサーも一度使ってみたんですが
<p>hoge</p><p>hoge</p>
pタグが一行に2つあると誤作動したりするんですよね

487 :デフォルトの名無しさん:2019/08/30(金) 23:22:18.80 ID:fIMZQtfT.net
その誤作動がパーサーのせいかどうかは判らないが、少なくとも
HTML::Parser でそんなことは起こらないから安心してほしい。
たとえばテキスト部分だけを出力したいならこんな感じでできる。

my $parser = HTML::Parser->new(
text_h => [sub { print( $_[0]) },'text'],
);
$parser->parse_file( \*STDIN);

488 :デフォルトの名無しさん:2019/08/31(土) 00:18:32.04 ID:mx6W2BK8.net
>487
参考になります。
パーサーもいろいろ種類あるみたいですね。

自分の使ってたのはhtml-xml-utilsというやつでした。

489 :デフォルトの名無しさん:2021/04/21(水) 00:35:38.31 ID:J2c8I4ei.net
@aに0を100ケ追加するには、pushをforで100回回す以外の方法ありますか

490 :デフォルトの名無しさん:2021/04/21(水) 03:07:59.27 ID:aE0oGLsa.net
push(@a, (0) x 100);

491 :デフォルトの名無しさん:2021/04/27(火) 18:16:47.03 ID:OX0aAdkQ.net
>>490
ありがとうございました
俺が遅くなりまして申し訳ありません

492 :デフォルトの名無しさん:2021/11/19(金) 22:27:21.73 ID:v67hT9Zk.net
二つ以上の空白文字列を
一つの空白に変えたいのですが
うまくいきません。

if($line=~/\s\s+/){
$line=~s/\s\s+/\s/g
print("$line\n")
}

493 :デフォルトの名無しさん:2021/11/20(土) 02:07:02.21 ID:h6kzSIM/.net
$line=~s/¥s¥s+/ /g
では?

494 :デフォルトの名無しさん:2021/11/20(土) 20:14:01.04 ID:xbsxU5SW.net
s/\s\s+/ /g;
でうまくいったよ。
そうか、\sって正規表現だから、置換文字列に使うと「perl にそんな定義ないで!」ってなるのか。
これは俺も気を付けよう。

495 :デフォルトの名無しさん:2021/11/20(土) 20:36:42.09 ID:xbsxU5SW.net
置換といえばこのまえ、JSONで取得したUnicodeを表示したくて、
\u3042 → \N{U+3042}
に置換しようとしたけど、できなかった。
\N{U+ }←ここにはリテラルしか書けないのかな。

496 :デフォルトの名無しさん:2021/12/14(火) 19:15:14.22 ID:LP8Fmqr9.net
if文で真偽値を判定するのってどうやるの?

hoge() or die("Error\n");
ってなってた(hoge()の戻り値が魏ならエラー)のを標準出力したくて

my $a = hoge();
if( ! $a ){ print("Error\n"); exit $!; }
みたいにしたんだけど、if文の書き方ってこんなんで良いの?

497 :デフォルトの名無しさん:2021/12/25(土) 19:09:39.02 ID:pJ3Bii8w.net
>>496
0を返しても、0といb、文字(アスキーコード0x30)として扱われたりするから、俺は
if(scalar($a)) {
とか
if($a eq 0) {
とかするよ。

498 :デフォルトの名無しさん:2021/12/25(土) 20:31:09.16 ID:62MjaTIU.net
>>496
良い。

! で条件反転させるんだったら unless 使っても良いと思うけどね。
unless ($a) { ... } みたいに。

499 :デフォルトの名無しさん:2021/12/30(木) 05:41:55.25 ID:grPlj9k3.net
良くないんだってば。
Perlをそういう流儀でやってるといつか痛い目にあうよ。

500 :494ではない:2021/12/30(木) 08:07:22.12 ID:j5bdR14I.net
>>497
マジか。
my $a = hoge();
において、左辺が 0、右辺が 0x30 になるのは、言語としてぶっ壊れているんじゃね?

501 :デフォルトの名無しさん:2021/12/30(木) 17:49:56.83 ID:QArx8wCq.net
そういう言語なの
0 but true
なんていう値もあるし

502 :デフォルトの名無しさん:2022/01/10(月) 19:33:13.97 ID:2hS04FMw.net
do what perl mean

503 :デフォルトの名無しさん:2022/01/11(火) 00:17:50.61 ID:Xf79Fgui.net
bool値ほしい

504 :デフォルトの名無しさん:2022/03/27(日) 23:43:39.11 ID:TRkpHzjA.net
>>499
じゃあどうすればいいの?

505 :デフォルトの名無しさん:2022/04/28(木) 20:33:01.74 ID:KupWcmJ5.net
元の
hoge() or die("Error\n");
が問題なく動いてるなら
hoge() or print("Error\n"), die $!;

506 :デフォルトの名無しさん:2022/06/11(土) 13:31:52.57 ID:XcUjU1KU.net
hoge()が0を返しうるかどうかもわからんと思うのだが

>元の
>hoge() or die("Error\n");
>が問題なく動いてるなら

という前提の下で >>497 の配慮に意味があるの? >>498 で十分

hoge() or が動くという前提を無視するとして
もしもhoge()が0を含む数値か失敗を返すなら(空文字を含む文字列か失敗でもいい)
失敗にundefを返してdefinedで受けるのがフツー

507 :デフォルトの名無しさん:2023/12/15(金) 06:59:42.19 ID:aRdlBUAD.net
$_ ← これ、なんて読む?

perlが発祥ってわけでもないそうだが(bashとかにもあるんだってね)、ガチのドザなので
俺は内心ドルバーって呼んでる

508 :デフォルトの名無しさん:2023/12/19(火) 00:32:16.33 ID:LgO8Ui43.net
ドル・アンダーバーじゃないかな。
設定によってはチルダの代わりにトップバーってのがあったから、それと区別するのにアンダーって言ってた気がする。

509 :505:2023/12/21(木) 12:15:47.33 ID:nsa/DjJa.net
おつあり
そういやそんなの(トップバー)あったねえ なるほど

510 :デフォルトの名無しさん:2024/02/09(金) 17:07:48.28 ID:LEmbefGZ.net
V5.38.2
32ビット
https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/tag/SP_5382_32bit
64ビット
https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/tag/SP_53822_64bit

511 :デフォルトの名無しさん:2024/03/03(日) 23:39:10.39 ID:1cRqRnnX.net
なつかしのcgiゲームを設置したくてperlを触ってるのですが、今の時代でもcgiゲームはサーバーへの負荷は大きいのでしょうか?(昔はよくゲームの設置が禁止されてましたが)
perlと関係なかったらすみません…

512 :デフォルトの名無しさん:2024/03/16(土) 03:41:28.53 ID:I49Gallj.net
StrawberryPerlで

$str='あ';
if ($str =~ /^[あいう]$/) {print("match\n");}

を実行してみるとマッチしてくれません
/^(あ|い|う)$/ ならマッチするのですが
古いPerl4のjperlなら /^[あいう]$/ でもマッチします
やはりこれはStrawberryPerlのバグ(または仕様)なのでしょうか

513 :デフォルトの名無しさん:2024/03/16(土) 08:42:58.43 ID:E8XsMGej.net
print length $str; を入れてみたらわかる

514 :デフォルトの名無しさん:2024/03/16(土) 09:03:33.98 ID:E8XsMGej.net
もしかして: \p{sc=Hiragana}

515 :デフォルトの名無しさん:2024/03/16(土) 09:16:48.08 ID:1WMRgWrv.net
ネタにマジレス

516 :デフォルトの名無しさん:2024/03/16(土) 11:57:07.41 ID:Xoe9pkvE.net
>>513
レスどうもです
Shift-JISの環境で正しく2とカウントされてます
前記はあくまで例ですので全角文字なら他の文字でもこうなるみたいで
ひらがなにマッチさせたいわけではないんです

517 :デフォルトの名無しさん:2024/03/16(土) 15:20:26.94 ID:e8kHlvhU.net
少なくともperl5.8以降の文字クラスはuse utf8;前提になっててlengthが1じゃないとだめじゃね?

518 :デフォルトの名無しさん:2024/03/16(土) 15:27:36.56 ID:HqlfXJdH.net
推奨されてないけど
use encoding 'sjis'
ならsjisでコード書けたと思う
jperlナツカシス

519 :デフォルトの名無しさん:2024/03/24(日) 16:38:15.53 ID:gHSiAGjm.net
Windows では Filter::Encoding いれて使ってた
スクリプトは utf-8 で書いて use utf8 してたけど
コマンドラインでは -MFilter::Encoding=cp932 とか

136 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★