探検
Perl初心者スレ(マジレス回答)
2012/10/07(日) 00:48:39.00
どうぞー
8デフォルトの名無しさん
2012/10/07(日) 10:56:38.94 初心者なので 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
どうぞ質問してください。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
回答者が現れるまで待ちましょう。
[プログラミング自体の経験が無いひとはまずココを読む]
とほほの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
2012/10/07(日) 11:01:39.61
# [Perl 日本語処理の基礎の基礎]
# まず、以下の行を先頭に入れて下さい。
use utf8;
use open IO => ":encoding(cp932)";
binmode STDIN => ":encoding(cp932)";
binmode STDOUT => ":encoding(cp932)";
binmode STDERR => ":encoding(cp932)";
use Encode;
# 以上の内容は、日本語処理が解らない人でも、とりあえず日本語処理ができてしまう
# おまじないです。
# まず、以下の行を先頭に入れて下さい。
use utf8;
use open IO => ":encoding(cp932)";
binmode STDIN => ":encoding(cp932)";
binmode STDOUT => ":encoding(cp932)";
binmode STDERR => ":encoding(cp932)";
use Encode;
# 以上の内容は、日本語処理が解らない人でも、とりあえず日本語処理ができてしまう
# おまじないです。
2012/10/07(日) 11:07:51.43
上記の記述は1行で書くこともできます。
use encoding 'cp932'; # [Perl 日本語処理]
初心者にはこれが一番あってると思います。
徐々に経験を積んで、難しい記述にチャレンジしていきましょう。
use encoding 'cp932'; # [Perl 日本語処理]
初心者にはこれが一番あってると思います。
徐々に経験を積んで、難しい記述にチャレンジしていきましょう。
2012/10/07(日) 14:00:31.86
そもそもプログラム初心者にPerl選択などありえない
2012/10/07(日) 17:42:36.30
初めてのPerl第6版と赤らくだ本は分量的にも内容的にもほぼ同じだしな
2012/10/07(日) 19:28:07.17
2012/10/07(日) 21:24:43.64
↑ながらく機能していない上にCGIの質問をすると怒られます。
Perlの質問をするとPHPの回答が返ってきます。
それでも構わないなら、どうぞ。
Perlの質問をするとPHPの回答が返ってきます。
それでも構わないなら、どうぞ。
2012/10/07(日) 21:30:12.99
やっぱりPHPの方がいいんですかね。
2012/10/07(日) 21:56:55.72
プログラム初心者じゃなくてPerl初心者な。PHPは卒業な。
2012/10/07(日) 22:29:39.78
■関連スレ
おちんちんランド開園
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/
おちんちんランド開園
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/
2012/10/07(日) 23:09:44.68
PHPでいう、in_arrayは
Perlではなんて関数ですか?
Perlではなんて関数ですか?
2012/10/07(日) 23:44:10.62
grepでいいんじゃないか?UNIXの文化な
2012/10/07(日) 23:45:55.55
2012/10/08(月) 00:16:19.24
ハッシュのキーにして、最後にキーを取り出す
2012/10/08(月) 00:29:08.71
my %uniq = map { $_ => 1 } @array;
my @array_uniq = keys %uniq;
my @array_uniq = keys %uniq;
2012/10/08(月) 00:37:42.34
長いな。
2012/10/08(月) 01:25:04.19
初心者に変なもん奨めるんじゃないぞ
2012/10/08(月) 01:37:02.22
%u = map {$_,1} @a;
@u = keys %u;
#チヂメテミタ
@u = keys %u;
#チヂメテミタ
2012/10/08(月) 10:06:15.64
my @array_unique = keys %{{map {$_,1} @array}};
perl 5.14 以降なら
my @array_unique = keys {map {$_,1} @array};
perl 5.14 以降なら
my @array_unique = keys {map {$_,1} @array};
2012/10/08(月) 11:07:41.23
ひと頃List::Utilが湧いたのはPHPとの比較が原因か
2012/10/08(月) 13:27:23.56
>>26
なんかバッドノウハウ臭が強いな。
なんかバッドノウハウ臭が強いな。
2012/10/08(月) 14:21:09.99
んなこたあない。
2012/10/08(月) 14:24:32.17
ここでList::Utilを持ち出し、直後からスレが荒れるのが定番。
2012/10/08(月) 14:31:44.97
あるサイトにアクセスして数値を取得してreturn $num;で値を返す関数を作ったとします
get_num();
my $num=200
while(1)
{
if(new_num() >=$num)
{
okと表示
}
}
okがうまく表示されません
毎回get_numでサイトにアクセスして取得しているというのが悪いんでしょうか?原因がわかりません教えてください
get_num();
my $num=200
while(1)
{
if(new_num() >=$num)
{
okと表示
}
}
okがうまく表示されません
毎回get_numでサイトにアクセスして取得しているというのが悪いんでしょうか?原因がわかりません教えてください
3231
2012/10/08(月) 14:33:07.32 new_num()で取得した値は $numより大きいです
大きいのになぜか比較されずにスルーで何も表示されずループです
大きいのになぜか比較されずにスルーで何も表示されずループです
2012/10/08(月) 14:39:56.54
>あるサイトにアクセスして数値を取得してreturn $num;で値を返す関数を作ったとします
↑これは get_num() のことですか?new_num() のことですか?
get_num() は return $num; しないんですか?戻ってきた値は使わないんですか?
>毎回get_numでサイトにアクセスして
↑ get_num() は while の中にありませんが、この外にループがあるんですか?
↑これは get_num() のことですか?new_num() のことですか?
get_num() は return $num; しないんですか?戻ってきた値は使わないんですか?
>毎回get_numでサイトにアクセスして
↑ get_num() は while の中にありませんが、この外にループがあるんですか?
2012/10/08(月) 14:43:57.35
use strict; 落ちか
腕を上げたようだな、モダンPerl。
腕を上げたようだな、モダンPerl。
35Perl忍者 ◆M5ZWRnXOj6
2012/10/08(月) 14:44:44.212012/10/08(月) 14:46:12.89
改行入れてもループは終わらんだろw
37デフォルトの名無しさん
2012/10/08(月) 15:14:18.812012/10/08(月) 15:34:01.73
荒らしの連立てしたスレを伸ばそうとしてる>>31は荒らし
消えろやゴミが
消えろやゴミが
2012/10/08(月) 15:43:26.69
2012/10/08(月) 17:19:35.10
$|=1;
my $num=200; ←セミコロン忘れるな
while(1){
if(get_num() >= $num){ ← get_num()、な
print "ok\n"; ← うるせぇやつがいるから改行、な
last; ← これなけりゃ無限ループだわな
}
sleep(60); ← Web にアクセスするなら忘れるんじゃねぇぞ
}
my $num=200; ←セミコロン忘れるな
while(1){
if(get_num() >= $num){ ← get_num()、な
print "ok\n"; ← うるせぇやつがいるから改行、な
last; ← これなけりゃ無限ループだわな
}
sleep(60); ← Web にアクセスするなら忘れるんじゃねぇぞ
}
2012/10/08(月) 18:01:11.94
なんで>>31みたいなカスがプログラミングなんかに手を出したのか疑問。
2012/10/08(月) 18:06:38.78
2012/10/08(月) 18:11:25.50
2012/10/08(月) 18:46:17.85
文字列 $str の末尾の「.cpp」を「.o」に置換し新たな文字列 $new_str を生成したいのですが
s/// だと元文字列を書き換えてしまいます
コピーしてから置換でも良いのですが、書き換えずに置換する関数や演算子はないでしょうか?
s/// だと元文字列を書き換えてしまいます
コピーしてから置換でも良いのですが、書き換えずに置換する関数や演算子はないでしょうか?
2012/10/08(月) 19:10:50.54
>>47
寝言は寝て言えキチガイ
寝言は寝て言えキチガイ
2012/10/08(月) 19:13:40.44
50デフォルトの名無しさん
2012/10/08(月) 19:24:24.71 >>47のような害虫はム板から駆除しなければならない。
2012/10/08(月) 19:35:47.99
>>47
s/// に /r を指定するとよろし
s/// に /r を指定するとよろし
2012/10/08(月) 19:47:46.05
2012/10/08(月) 19:56:47.23
>>47はプログラミングに向いてない。
2012/10/08(月) 20:15:10.88
煽り叩きに加えて今度はイコール厨まで参戦ですか
ほんとスレの空気を悪くすることに関しては息ぴったりですねお前ら
ほんとスレの空気を悪くすることに関しては息ぴったりですねお前ら
2012/10/08(月) 20:23:58.30
2012/10/08(月) 20:35:31.31
2012/10/08(月) 20:43:06.24
>>56
いいから二度と来るなよ
いいから二度と来るなよ
2012/10/08(月) 20:48:41.51
2012/10/08(月) 20:49:06.45
2012/10/08(月) 22:37:14.94
>>47はマジでクズ
2chを代理検索か何かと勘違いしてないか?
2chを代理検索か何かと勘違いしてないか?
2012/10/08(月) 22:47:29.05
質問してこういう扱いうけて荒らしてるのかこの粘着くんはw
6231
2012/10/08(月) 23:31:22.782012/10/08(月) 23:37:12.37
2012/10/08(月) 23:46:28.06
>書き換えずに置換する
何をしたいのか
何をしたいのか
65デフォルトの名無しさん
2012/10/08(月) 23:58:56.98 こういう糞みたいな質問してる連中がム板のレベルを下げてる
2012/10/09(火) 01:13:51.30
馬鹿の>>63-64が釣れたwww
マジ釣り掘りwwwww
マジ釣り掘りwwwww
2012/10/09(火) 03:50:12.06
2012/10/09(火) 11:14:53.75
何で分かるの?
あ、ご本人様ですか。
荒らしもやりながらこんな場末の糞スレチェックまでご苦労様です。
あ、ご本人様ですか。
荒らしもやりながらこんな場末の糞スレチェックまでご苦労様です。
2012/10/09(火) 13:42:01.38
プロキシのレスポンスタイム計るにはどうするの?
教えてくれ
6.5s
5,8sとかあるだろ?あれ
教えてくれ
6.5s
5,8sとかあるだろ?あれ
2012/10/09(火) 14:26:59.97
それはPerl限定の話でもなさそうだし、流石にWebProg板で聞いてくれ
2012/10/09(火) 16:16:14.44
PHPでいうマジッククォートみたいなのない?
sjisで送信するとき表とかがエスケープされずにエラーでちゃうんだけど
自動でエスケープしてくれる関数みたいなの無いの?
教えてください
sjisで送信するとき表とかがエスケープされずにエラーでちゃうんだけど
自動でエスケープしてくれる関数みたいなの無いの?
教えてください
72デフォルトの名無しさん
2012/10/09(火) 16:57:01.82 自分で調べられないお前にはPHPがお似合いだ
2012/10/09(火) 17:05:55.35
2012/10/09(火) 17:13:03.31
>>71=基地害
75Perl忍者 ◆M5ZWRnXOj6
2012/10/09(火) 17:33:58.222012/10/09(火) 17:49:33.02
2012/10/09(火) 20:44:10.43
PHPのマジッククォートとSjisっておんなじものなのか?
微妙にやること違うと思うぞw
微妙にやること違うと思うぞw
2012/10/09(火) 22:09:35.85
初心者でUnicodeはきついかもな
ごちゃごちゃしてて何がなんだかさっぱり分かんない
初心者にはshiftjisがいい
ごちゃごちゃしてて何がなんだかさっぱり分かんない
初心者にはshiftjisがいい
2012/10/10(水) 00:13:36.93
Perlスレの頭にUnicode絡みのテンプレなかったっけ
2012/10/12(金) 00:36:02.70
require 'jcode.pl';
だっけ?
だっけ?
81デフォルトの名無しさん
2012/10/12(金) 01:02:04.552012/10/12(金) 01:03:01.58
>>9 「use Encode; 」
2012/10/12(金) 01:38:15.26
それ言うなら use utf8; だろ
EncodeはUnicode以外だって扱えるんだから
でも牙が伸び過ぎると自滅してしまうこともある
ttp://blog.nakatanigo.net/archives/50474313.html
EncodeはUnicode以外だって扱えるんだから
でも牙が伸び過ぎると自滅してしまうこともある
ttp://blog.nakatanigo.net/archives/50474313.html
2012/10/12(金) 02:28:37.13
>>80は頭がおかしい。
2012/10/12(金) 02:37:31.52
>>82
ありがとうそこにあったのか
ありがとうそこにあったのか
2012/10/12(金) 03:28:56.95
>>80
もう来なくてもいいよ
もう来なくてもいいよ
2012/10/12(金) 12:02:40.96
>>80=ゴミクズ
2012/10/12(金) 15:53:07.74
いつもの基地外は本スレに行けよ
2012/10/12(金) 18:49:11.85
↑はい、いつものキチガイ入りましたー
2012/10/12(金) 21:16:15.75
88はいつもただの質問者を荒し扱いしたりしてる奴だろう、放置よろ。
2012/10/28(日) 18:01:11.94
>>80
それです。サンクスダアイナ
それです。サンクスダアイナ
2012/10/28(日) 20:13:19.68
初心者の彼女がjacode.pl使ってて時代の変化を感じた
2012/10/31(水) 00:29:58.66
いつまでもEncodeでエンコしててもしょうがないしな
2012/11/06(火) 01:38:15.62
ttp://kotobank.jp/word/えんこ
2012/11/12(月) 19:41:16.44
ActivePerl5.16.1使用中です。
---
print DAT @dat;
---
このようにして配列を書き出そうとしたのですが
なぜかテキストファイルに繁栄されません。
何か情報をご存知の方いらっしゃいませんか?
---
print DAT @dat;
---
このようにして配列を書き出そうとしたのですが
なぜかテキストファイルに繁栄されません。
何か情報をご存知の方いらっしゃいませんか?
2012/11/13(火) 05:02:27.13
ファイルハンドルであろうDATのopen文はいかに
2012/11/13(火) 22:13:06.51
以下の一行スクリプトに文字を食わせて「XX月◯◯日のお知らせ!」の次の行から「-----」の前までを取り出そうとしています。
最期のs/^ +//は各行の先頭の全角の空白を取ろうとしたのですが、これが働きません。が、抜き取り自体は成功していました。
逆に、use utf8とすると/正規表現/が全くひっかかりらず何もprintされません。
perl -e '
#use utf8;
while (<>)
{
if (/\d+月\d+日のお知らせ!/) { last; };
#skip the line;
};
while (<>)
{
if (/-----/) { last; };
s/^\s+//;
s/^ +//;
print;
}'
最期のs/^ +//は各行の先頭の全角の空白を取ろうとしたのですが、これが働きません。が、抜き取り自体は成功していました。
逆に、use utf8とすると/正規表現/が全くひっかかりらず何もprintされません。
perl -e '
#use utf8;
while (<>)
{
if (/\d+月\d+日のお知らせ!/) { last; };
#skip the line;
};
while (<>)
{
if (/-----/) { last; };
s/^\s+//;
s/^ +//;
print;
}'
2012/11/13(火) 22:28:35.29
perl -e '
use utf8;
while (<>)
{
if (/\d+月\d+日のお知らせ!/) { last; };
#skip the line;
};
while (<>)
{
if (/-----/) { last; };
s/^\s+//;
{
no utf8;
s/^(?: )+//;
}
print;
}'
use utf8;
while (<>)
{
if (/\d+月\d+日のお知らせ!/) { last; };
#skip the line;
};
while (<>)
{
if (/-----/) { last; };
s/^\s+//;
{
no utf8;
s/^(?: )+//;
}
print;
}'
2012/11/16(金) 00:37:30.32
どうもです。
状況なのですが、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;だけ殺して一見うまく動いているのでそれで利用を開始しました。
個人の趣味の自動化目的なのでそんな感じでまずはゴーしてしまいます。
状況なのですが、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 utf8プラグマは作ったひとは使うのが簡単だと考えているんだろうけど、
使うひとにとっては非常に難しい。こういった処理モデルを理解しろと
いうほうに無理がある。結論としてはutf8プラグマは使わないほうが
よい。
使うひとにとっては非常に難しい。こういった処理モデルを理解しろと
いうほうに無理がある。結論としてはutf8プラグマは使わないほうが
よい。
101デフォルトの名無しさん
2012/11/16(金) 14:34:35.11 もう省略の美学とか無くていいから(涙)
ぜんぜん意味がわからない
たすけて
ぜんぜん意味がわからない
たすけて
102デフォルトの名無しさん
2012/11/16(金) 21:20:57.16 utf8にはまるのは日本固有らしい。海外では当初から見切りをつけていて
使われることはない。
使われることはない。
103デフォルトの名無しさん
2012/11/17(土) 00:49:53.31 この方法で重複を削除した場合
リストの順番は変更されますか。
それとも、重複が削除されるだけで、
順番はそのままですか。
my %hash = ();
foreach (@list) {
$hash{$_}++;
}
my @unique = keys %hash;
print @unique;
ご教示ください。
リストの順番は変更されますか。
それとも、重複が削除されるだけで、
順番はそのままですか。
my %hash = ();
foreach (@list) {
$hash{$_}++;
}
my @unique = keys %hash;
print @unique;
ご教示ください。
104デフォルトの名無しさん
2012/11/17(土) 01:33:36.49 The keys of a hash are returned in an apparently random order.
ハッシュのキーはランダムな順番で返されます(適当訳)
http://perldoc.perl.org/functions/keys.html
ハッシュのキーはランダムな順番で返されます(適当訳)
http://perldoc.perl.org/functions/keys.html
105デフォルトの名無しさん
2012/11/17(土) 01:55:32.07 ゲーッ
ありがとうございました・・・
ありがとうございました・・・
106デフォルトの名無しさん
2012/11/17(土) 17:04:11.19 フリーソフトの利用は自己責任。
utf8作ったひとが助けてくれるわけじゃない。
自分の理解できる範囲内で使えってこった。
utf8作ったひとが助けてくれるわけじゃない。
自分の理解できる範囲内で使えってこった。
107デフォルトの名無しさん
2013/01/03(木) 08:49:11.83 文字コードとしてのUTF-8を理解してもutf8プラグマの挙動は別物
オレオレ実装むき出しの仕様で理解できず使いづらい
そこで省略の美学になる
オレオレ実装むき出しの仕様で理解できず使いづらい
そこで省略の美学になる
108デフォルトの名無しさん
2013/01/03(木) 09:02:50.69 至らない実装は利用者が補えるが、オレオレ仕様は直せない、か
レスを投稿する
ニュース
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★3 [お断り★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁 [七波羅探題★]
- 【高市自民】中国軍SNS 高市首相に怖すぎる地獄絵で警告、火の海の靖国神社「自ら墓穴を掘り、戻れない道へ進む」 [夜のけいちゃん★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★9 [樽悶★]
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★4 [お断り★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 【憲法改正】起草委員会、設置へ [476729448]
- 3K新聞「高市首相「馬車馬」の1カ月…宿舎で猛勉強、外交乗り切る 会食なく睡眠不足、心配の声も」 [834922174]
- 【悲報】大手経済誌が年収が低い会社ランキングを発表、Vtuberのにじさんじがランクインしてしまう…
- 【35🌸専】なんG さくらみこ桃鉄配信実況スレ🏡【ホロライブ▶】
- vipすげーな
- 皆で雑談しよーや
