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プラグマは使わないほうが
よい。

136 KB
新着レスの表示

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

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