X



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

0226デフォルトの名無しさん
垢版 |
2014/02/17(月) 23:26:58.49
必要のないものをどうして実装する必要があるのだ
0228デフォルトの名無しさん
垢版 |
2014/02/18(火) 02:13:13.87
それぺちぱーだろ
0229デフォルトの名無しさん
垢版 |
2014/02/18(火) 22:40:42.68
>>226
まず必要あるかないかは、必要あるという前提にしましょう。
別にPHP専用用語ではないのだから、世界的には必要あるという流れです。

その前提で、どうやって実装するのか答えてください。
0230デフォルトの名無しさん
垢版 |
2014/02/19(水) 01:19:55.57
必要あるやつが実装すればいいだけのことだな
0232デフォルトの名無しさん
垢版 |
2014/02/19(水) 20:01:53.86
#!/usr/bin/perl
$buffer = $ENV{QUERY_STRING};
@pairs = split( /&/, $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_
0233デフォルトの名無しさん
垢版 |
2014/02/19(水) 20:04:58.23
上みたいなプログラミングを組んで、A=とB=にそれぞれ任意の数字を入れるとA*Bの答えが表示されるようにしたいんですが、
いざ実行してみても上のプログラミングがそのまま表示されるだけで正しい結果が得られないのですが、
どうしたらよいでしょうか。
0234デフォルトの名無しさん
垢版 |
2014/02/19(水) 20:09:03.95
というか、どこかおかしいところがあるでしょうか?
0236デフォルトの名無しさん
垢版 |
2014/02/19(水) 20:36:13.45
>>234
>>232,>>233が板違いだということに気付かないのがおかしい。

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

お前みたいなクズはリアルでも迷惑がられてるんだから自覚しろ。
0237デフォルトの名無しさん
垢版 |
2014/02/19(水) 20:41:12.79
>>232=基礎をやらずにいきなりプログラミングから入る典型的なゴミ
目的達成までの手順すら把握できてないからプログラミング以前の問題
何やっても駄目な奴のパターン
人生乙
0238デフォルトの名無しさん
垢版 |
2014/02/19(水) 20:41:52.31
しね
0240デフォルトの名無しさん
垢版 |
2014/02/19(水) 20:49:37.80
一人芝居乙ですwwww
0241デフォルトの名無しさん
垢版 |
2014/02/19(水) 20:50:45.28
>上みたいなプログラミングを組んで、A=とB=にそれぞれ任意の数字を入れるとA*Bの答えが表示されるようにしたいんですが、
>いざ実行してみても上のプログラミングがそのまま表示されるだけで正しい結果が得られないのですが、
日記はブログに書け

>どうしたらよいでしょうか。
今すぐプログラミングやめろ
そして二度とくるな
0242デフォルトの名無しさん
垢版 |
2014/02/19(水) 20:53:44.83
Perl系スレは質問者が叩かれると張り切って答える奴がいるから 質問したら自演で自分を叩くのが常套手段
0246デフォルトの名無しさん
垢版 |
2014/02/19(水) 21:11:38.56
>>232
PHPなら一瞬で片付く案件
<?php
$x = $_GET['name1'] * $_GET['name2'];
echo( $_GET['name1'] . " * " . $_GET['name2'] . " = " . $x );
?>
0247デフォルトの名無しさん
垢版 |
2014/02/19(水) 21:16:25.09
>>234
入門書1冊読めば大抵書いてあるはずだが・・・
本1冊買えない乞食か?
そんなに金がないならプログラムなんかやめてバイトでもしたほうがいい
日雇いでも書籍1〜3冊買える金もらえるぞ
0248デフォルトの名無しさん
垢版 |
2014/02/19(水) 21:27:19.38
初心者スレってかいてあるだろーが字よめねぇのかよカス
0252デフォルトの名無しさん
垢版 |
2014/02/20(木) 01:17:13.12
初心者は自力で解決しようとしない奴のことではないぞ
0257デフォルトの名無しさん
垢版 |
2014/02/21(金) 02:50:14.54
>>256
残念ながら、思考回路も間違ってるしPerl厨でもないなあ
板違いの指摘そのものは問題ではないよ、実際のところ >>232 は板違いだしな

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

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

ああ、荒らしにレスするのも荒らしだからな
俺が荒らしと言われても、勿論構わないよ?
荒らしにレスしたことには間違いないしな。
0258デフォルトの名無しさん
垢版 |
2014/02/21(金) 02:51:46.89
>「板違いは荒らし」という人間 = 荒らし
Perl厨はいちいちこんなこと考えてないと思うぞ。
単に 気に入らない奴=荒らし ってことだと思われる。
0259デフォルトの名無しさん
垢版 |
2014/02/22(土) 22:30:28.45
質問させてください。
現在、NEなのですが、社内SEを目指しています。
その時に、サーバ作業を簡単に処理させる言語が必要にりそうなのですが、
Perlは向いていますでしょうか?
掲示板とかを作るつもりはありません。作業の効率化が目的です。
隣の席のプログラマさんに聞くと、
Perlは古くてCGIにはもう未来がないよー、ってお勧めされないのですが…
0260デフォルトの名無しさん
垢版 |
2014/02/22(土) 23:19:05.46
>>259
IT系で上を目指そうって人間に何でPerlなんて選択肢があるわけ?
そこらへん考えたほうがいいよ。

SEならITに関しては常に最新の動向を知るためにアンテナ張ってなきゃならないし、
アンテナ張ってればPerlがいかに駄目かというこてが分かる。
SE目指すならその辺りを自分で調べられるようになってたほうがいい。
0261デフォルトの名無しさん
垢版 |
2014/02/22(土) 23:25:59.25
>>259
PHPのほうがいい
作業を簡単に処理させるスクリプトとかって最初はそのつもりがなくても便利ならそのまま他のものを作るときに組み込んだりする
エンジニア以外でも有用な場合はWebインターフェースにして提供することなるけどその場合にPHPで書いてあるとインターフェース作るだけですぐに提供できる
0262デフォルトの名無しさん
垢版 |
2014/02/22(土) 23:28:04.79
>>259
マジレスすると今現在はRuby
但し3ヵ月後、半年後は分からん
自分でその情報を追えないならSEはやめとけ
今現在既に追えてないみたいだけど
0264デフォルトの名無しさん
垢版 |
2014/02/22(土) 23:56:23.80
>>260-263
ありがとうございます!
javaか、PHPか、perlで悩んでました。
色々調べると、PHPが入り易そうなので、、
明日、本屋に行って、決めます。

※CGIは、掲示板とか作るのであって、検索とかするのとは違うなあ、
と思いながら、プログラマさんの意見を聞いていました。
0266デフォルトの名無しさん
垢版 |
2014/02/23(日) 00:08:16.47
PHPが第一候補だったのですが、某サイトで、

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

これらから悩んでいたんです。コメントありがとうございます。
0267デフォルトの名無しさん
垢版 |
2014/02/23(日) 00:20:28.63
>>266
そのコメントとやらの投稿日時と信憑性も確認しろよ
まさか去年の夏以前の投稿で、しかも第一線で活躍してい"た"奴の投稿じゃないだろうな

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

まぁ第一線で活躍してるわけでもない俺のこんな匿名の投稿も信憑性がないだろうから
第一線で活躍してる人がPerlなんか使わないということは自分の目で確認してくれ
0269デフォルトの名無しさん
垢版 |
2014/02/23(日) 00:27:42.14
>>266
PHPがWeb系以外に使えんのは本当
Perlでも良いけど、RubyやPythonも有効だよ
まあ、まずは最初にシェルスクリプトだけどね
0271デフォルトの名無しさん
垢版 |
2014/02/23(日) 00:39:36.75
>>269
>PerlとLispが結婚して隔世遺伝が黒魔術で生まれた言語。
>Javaは硬度8くらい、Pythonは6くらいになるのに対して、Rubyは3くらいになる。

との記事を見つけました。いつの記述かわからないのですが(汗)
Rubyも明日、本屋で漁ってみます。ありがとうございます。
0273デフォルトの名無しさん
垢版 |
2014/03/05(水) 06:22:38.93
>>232-234
_EOM_なんて使っちゃだめだよ。見づらい。

print "Content-type: text/html\n\n";
print "<html>";
print "<body>";
print "A*B = $A * $B";
print "</body>";
print "</html>";
0274デフォルトの名無しさん
垢版 |
2014/03/25(火) 21:15:29.29ID:dz69sIJc
print "あいうえお";

↑これを文字コードをeuc-jpで保存してコマンドプロントからこのファイルを実行して
コマンドプロンプト上に文字化けなく あいうえお と出力させるにはどういうコードを追加すればいいの?
0275デフォルトの名無しさん
垢版 |
2014/03/25(火) 21:25:34.52ID:dz69sIJc
>>274はちょっと疑問に思っただけで何かするのに必要なワケじゃないので無理して
答えようとしないで下さい。たぶんちょっとググった程度で分かるようなことではないです。
0277274
垢版 |
2014/03/25(火) 22:08:05.94ID:dz69sIJc
>>276
うおお、すごい、あっさり出来てしまった・・。
今日一日↓こんなのでやろうとして泥沼にハマってました。

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

スーパーハカーさんどうもありがとう〜
0278デフォルトの名無しさん
垢版 |
2014/05/07(水) 01:39:02.09ID:NfbdqxRr
print +(3,2,1,),"\n";

↑これ、+記号を消すと改行が反映されなくなるんですが、この+記号って
どういう意味ですか?ググるためのキーワードだけでもおねがいします。
ググると +{ } は出てきたんですが +( ) はなぜか見つかりませんでした。
0280デフォルトの名無しさん
垢版 |
2014/05/07(水) 06:28:00.20ID:WoJ0c0N0
+() は scalar () とほぼ同等。
+{}は、ブロック中の戻り値(?)をスカラーとして評価しますって意味。
+()は、リストとして評価しませんよーって意味。

perldocのperlopの
Terms and List Operators (Leftward)

Unary "+"
を参照してください。
0281278
垢版 |
2014/05/07(水) 09:44:31.49ID:NfbdqxRr
>>279-280
なるほど、+{ } と同じような使い方だったんですね、ありがとうございました。
perldocもこれから読んでみます、多謝。
0285デフォルトの名無しさん
垢版 |
2014/05/24(土) 13:13:06.88ID:JzdRsmzF
掲示板のCGIを設置したんだけど、<a href="./bbs/mtbbs.cgi?">って感じにリンクするようにして、http://172では、ちゃんと作動したんだけど、
実際にFTPに転送すると、作動しないどころか画面が写らない
500エラーが出てくる

原因に関してはまだわかんなくて、調べてるんだけど、そもそも思ったのが<a href="./bbs/mtbbs.html">ならまだしも<a href="./bbs/mtbbs.cgi?">なんて、直にリンクすることなんてできるの?
0288デフォルトの名無しさん
垢版 |
2014/06/04(水) 10:34:27.77ID:8N6swAY/
知恵袋で質問したら回答どころか閲覧すらなさすぎワロタ・・・
0289デフォルトの名無しさん
垢版 |
2014/06/04(水) 15:39:06.30ID:ZiHf6GEW
早くマジレスしろ屑やろう
0290デフォルトの名無しさん
垢版 |
2014/06/05(木) 04:14:43.22ID:tjfA5i3O
質問してもどうせまともに答えてくれないんだろうな
どこ行っても解決しないわ
0293デフォルトの名無しさん
垢版 |
2014/06/08(日) 05:04:05.20ID:LT2twBt5
複数の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
0295デフォルトの名無しさん
垢版 |
2014/06/10(火) 12:30:22.68ID:zpbxFFHG
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;



}
0299デフォルトの名無しさん
垢版 |
2014/06/11(水) 22:22:53.08ID:PCU6+AOL
どこに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...略
でわかる。
0300デフォルトの名無しさん
垢版 |
2014/06/12(木) 13:15:46.45ID:qt4Roz23
恰好をつけるなら、リングバッファでも書くところですが、回答としては、あんまりだと思ったので。
2行固定なら、別に使わなくても。
perl -ne '($_, $x, $y) = ($x, $y, $_); $y =~ /dog/ && /市民/ && print' File

何も考えなくていいなら、正規表現でバッサリ。
perl -e 'print((local $/ = <>) =~ /(^.*市民.*\n).*\n.*dog/gm)' File
0301デフォルトの名無しさん
垢版 |
2014/07/13(日) 23:15:08.85ID:m+RTKRIb
>>300
1ヵ月以上もお前のレスにレスがつかないのはなぜか分かる?
お前みたいなゴミクズは誰も必要としてないからだよ。
一般社会ではあからさまに無視するわけにもいかないから当たり障りのない対応をしてもらってると思うけど、
お前ハッキリ言って迷惑だから。

ゴミクズはネットでもリアルでもできるだけ社会と接点持つな。
0302デフォルトの名無しさん
垢版 |
2014/07/26(土) 13:51:21.84ID:5yhnFgSu
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をインストールする手はありますか?
0303デフォルトの名無しさん
垢版 |
2014/07/26(土) 14:09:06.14ID:mdOIZXZW
make test had returned bad status, won't install without force
まけ出来てるのならいんすこ自体は可能
0304デフォルトの名無しさん
垢版 |
2014/07/26(土) 15:10:46.74ID:5yhnFgSu
force installでcygwinの方に入れました
正常に動作します
ありがとうございました

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

おかげさまで両方にackが揃いました
感謝します
0305デフォルトの名無しさん
垢版 |
2014/08/06(水) 20:37:58.86ID:Wa4hIBKh
xmlを取得して中身を
s|。|。<br>|g;
して句読点ごとに改行させたかったのですがどうしても出来ません
なにか理由があるのでしょうか
初心者なもんで変な質問をしていたらすいません
0307デフォルトの名無しさん
垢版 |
2014/08/06(水) 20:43:50.60ID:E5F7+XJp
エスパーじゃないんだから、そんな質問で答えれる訳ないだろ。
せめてサンプルとなる簡単なxmlを出せよ・・・
0309デフォルトの名無しさん
垢版 |
2014/08/06(水) 22:33:25.28ID:E5F7+XJp
>>308
テストした結果、普通に置き換えできます。
取得方法に問題があるんだろう。
ってか、こんな質問の仕方じゃスレ全部埋まるわ・・・
問題が起きてるサンプルコード出してみ
0316デフォルトの名無しさん
垢版 |
2014/08/19(火) 07:25:44.81ID:o0wKf1/G
>>314
http://perldoc.jp/docs/perl/5.18.1/perlfunc.pod
> 括弧を使うときには、単純な、(しかし、ときには驚く結果となる規則が 適用できます:
> 関数に見えるならば、それは関数で、優先順位は関係ありません。
(略)
> Perl に -w スイッチを付けて実行すれば、こういったものには警告を 出してくれます。
0317デフォルトの名無しさん
垢版 |
2014/08/19(火) 20:11:13.78ID:pX43W7dG
2000年には既にwarnings実装してんのに
なんで未だに、-w推薦文章なんか残してんだろーね?
-Mwarningsのエイリアスって訳でもねーし。
0318デフォルトの名無しさん
垢版 |
2014/09/02(火) 01:23:02.48ID:ytxIDh0v
【誤】print -e "print ((5+5)/3)"
【正】perl -e "(print(5+5)) / 3"
ついでに -w と -Mwarnings は別物。-Mwarnings で -w の代わりになるわけではない。
0320デフォルトの名無しさん
垢版 |
2014/09/02(火) 04:04:55.52ID:smXsHdMQ
>>318
-w ≠ warningsは常識だろ。

で、「use Unicodeは、use Jcodeの代りじゃない」ってレベルの事を言ってるぞ、おまえさん。
-wが石頭だから、より制御しうるwarningsを実装したんだろが。
0323デフォルトの名無しさん
垢版 |
2014/11/05(水) 08:46:59.07ID:aEzkt3Do
再帰中に再帰の深さを出したいんだけどlocal使っていい?
local $::count = $::count + 1;
もっと普通の方法ある?
0324デフォルトの名無しさん
垢版 |
2014/11/05(水) 11:35:00.61ID:+yDKEom1
引数で渡す

sub foo {
  my ($arg, $count) = @_;
  ...;
  foo($arg, $count) if $count++ < 10;
}
0325デフォルトの名無しさん
垢版 |
2014/11/05(水) 14:22:15.13ID:aEzkt3Do
ありがとーーー。
複製される変数の数には変わりがないよね、たぶん。

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


ニューススポーツなんでも実況