Perlコーディング初心者質問スレ Part 67
Perlのコーディングで困ってる人のスレです。
【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
お勧めサイトは >>2 以降
前スレ http://kohada.2ch.net/test/read.cgi/php/1358342748/ 桐光学園中学校男子部 | 中学受験の情報サイト「スタディ」
彼女の顔と性行伊は画像で確認
★検索ワード「 稲城市立向陽台小学校評判Y子 」★
今年転校するので許してください。
桐光学園中学校評判 ザキシマ 結子 ある詐欺まがい会社が全国的に巧妙な騙しをやっています
その騙しの手口を書いて2chでみなさん「こういう手口で冷ます業者に気をつけて」という
警戒分を書いてる方が多く居るのです、運営側はその公益性を認めて削除しないでいて
くれるのですが詐欺業者は、その事が気に喰わないらしく(まして警察にも訴えられない)ので
その警戒を書いたスレッドをあっというまに、一番上から最底辺(スレッドの番号700くらい)
まで落としてしまう技術を使ってます。
しかし削除はされないので被害者の方がまたageるのですが、いったいどういうワザを使うのでしょう?
最低に沈める方法で「soko」って言うのが一時噂されましたがガセネタみたいです
最低の700から板のtopにあがって来た後に必ず
****************************
板復帰(NG!:Gather .dat file OK:NOT moving DAT 723 -> 723:Get subject.txt OK:Check subject.txt 723 -> 723:fukki NG!)load averages: 1.72, 1.92, 1.98
sage Maybe not broken
*****************
っていう表示が出てます。お願いします。詐欺まがい業者が、運営に削除依頼出しても
公益の為に削除されないので、こまめにスレッドの最底辺に沈めてるんだと思うんです。 フリー配布のメッセージフォーム(kentさんとか)を使っていて(cgiやpl関係も配布のもの)
今までずっとmethod="get"で使っていたことに気が付きました
postにあらためたいのですが、単にHTML上で
method="post"に書き換えるだけでOKでしょうか? kentなんてまだ使ってるのかよ。
kent使っていいのは2000年までだぞ。 PerlでCGIの勉強をしています。
フォームで文字列入力→入力された文字列を表示、としたいのですが、
日本語だけ文字化けしてしまいます。
鯖のPerlのバージョンは5.18.1です。
できるだけモジュールを追加せずにやりたいのですが、
何か方法はありますか?
ソースを載せるので、何か気になる点があれば指摘して頂けると助かります。
次レスからソースです。 何か禁止ワードとやらで、ソース載せられないみたいなのでファイルのURL貼ります。
POSTを使って、データを渡そうとしています。
アルファベット(abcなど)では問題無く動くのですが、
日本語だけ正しく表示されません。
ttp://fast-uploader.com/file/7014228125322/
ファイルは1つです。
行数は42行です。 この状態でPOSTから「あいうえお」といった文字列を渡すと、
変換後:name=31231431631831A
と表示されてしまいます。
Perl単体でURLエンコード・デコードを試したところ、正常に動いたのですが、
CGIにすると正常に動きません。
use utf8を使っていますが、最初は使っていませんでした。
その状態で正常に動かないため、色々試して、今はuse utf8をつけています。 すいません自己解決しました。
単純にコードが間違っていました。
URLデコードの部分で間違ってました。 MacのOS X El Capitan 10.11.4.を使って、そこに入っているperl(v5.18.2)を使っています。
以下のようなコード(問題点だけに刈り込んであります):
use utf8;
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
@line = <>;
$lines = join "", @line;
$lines =~ s/今すぐ聴く//;
入力はlynx的なものでwebのページをテキストとして取ってきたものをパイプで流し込んでいます(automatorの"get specified URLs")。
で最後の行のマッチが入力データ内の「今すぐ聴く」とマッチしません。
いろいろためしてみると「ぐ」がマッチしません。
マッチストリングの「ぐ」を . にすればマッチします。
他にも「で」がマッチしません。
どこが間違っていますか?これをマッチさせる方法はありますか?
ソースはautomatorの上で書いています("run shell script"の欄の中)。
私の推測ですがMacはファイル名がunicodeのNFD(「か」+「゛」)ですがW3CはNFC(「が」)だということなので、これが原因ではないか?
なのでMac内ではすべてNFDつまりperlのソースコードもNFDなのでマッチしないのでは、と思い始めていますが
これ以上は私には検証しようがありませんでした。 あるサイトからTreeBuilder使って任意の情報を抜き出そうとしてます。
対象のサイト内で、Ajax使ってiframeなんかで遅延表示している文字列も含めて
最終的に表示されている文字列を取得したいんですが良い方法ありますか?
(Ajaxで定期更新してる場合はとれるタイミングは問わず) 画像掲示板をカスタマイズして使っておりますが、
Windows10のIEで投稿した場合、投稿後に、
「フォームを再送信しますか」という確認が出ます。
これを回避するにはどうしたらいいでしょう? refreshでリロードせずに、一旦別ファイルに飛ばして戻すようにしました。 昔作者のHPで配布されてたjcode.pl の作者公式ベータ版は v2.13.1 v2.13.2 v2.13.3 の3つだけでしたっけ?
本業は翻訳家らしい歌何とか先生のホームページを何年ぶりかにググって見てみたらよく分からない日記帳になってて
jcode.plの痕跡すらないので気になって。
今更jcode.plもないだろうってことで2.13までしかないFTPサイト以外消しちゃったんかな? そりゃなぁ、Perl本体にjcodeよりも
優れたモジュールが入ってるんだから 作者のHPのURLを入れれば見れる可能性が微レ存
http://archive.org/web/ 当時jcode.plは空気のように当たり前の存在だったから
密かに置いてあったベータ版もWEB ARCHIVEに保存されている可能性は高いけど
まず当時の作者URLを見つけるところから始めないとなw
でも jacode.pl がjcode.plの改良品なんだから
多分jcode.plベータ版の機能も含んでいるはずだよ jacodeググって見つけました。
http://d.hatena.ne.jp/foussin/20111218/1324157166
jcode.pl (Perl4) → jacode.pl (Perl4) → Jcode.pm (Perl5) → Encode.pm (Perl5.8 標準モジュール)
ってことで、Encode.pmを使うのが良いみたいですね。 Fedora24server Perl v5.22.2です。
# /usr/bin/perl
use bigint;
Can't locate bigint.pm in @INC (you may need to install the bigint module)
と出た場合は何かインストールしなければならないでしょうか。
試しに↓やってみましたが、変化無しです。
dnf -y install perl-Math-BigInt-GMP-1.49-2.fc24.x86_64
find / -name bigint.pm でも見つかりませんでした。 よく見たらほとんど休眠スレじゃんw
自決。↓でOKでした。
dnf -y install perl-core PerlでSMTPで複数人にメールを送信する時、
toに配列を指定すると受信者のto欄がレンタルサーバーのプロキシーアドレス?になってしまいます。
メール自体は届く人に正しく届いています。
$mail_header .= 'To: '.@JUSINSHA. $mail_header .= 'To: '.@JUSINSHA."\n";
$SMTP->to(@JUSINSHA);
このようにしてますが、
@JUSINSHAをどうすれば良いのでしょうか? もう一つ教えてください。
文字コードはUTF-8なんですが、
メールで受信した時チェックボックスの値だけ文字化けしてしまいます。
PC画面に表示させると内容は含まれています。
encode/decodeかけると何かの数字になってしまうようです。
チェックボックスの値をメールで表示させるにはどうしたら良いですか?
CGI.pm, SMTP, Encode.pm使ってます。 ⬆︎ これOKにするにはどうしたらいいの? 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
ZSF79J7FO5 perlでサーバーAで計算した値をサーバーBに送り表示することってできますか?
できるならどうやるんですか?
できればモジュールなくても使える方法がいいです。 プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
9DA3S ここって息してる?
cmd画面とエラーファイルに同じメッセージ出すのに
2回printしてるんだけど1回で済ます方法ってあるのかな? あー。その::でつなげるやついっこも理解できてない。 print hErr,STDOUT "入力情報に誤りがあります";
みたいなさらっとした書き方が無いならまぁ、ええかってなってる。 >>79
「perl IO::Tee」でグーグル検索して、右クリックで「日本語に翻訳」 教えてくれてありがたいけど、なんつーか、::でつなげて使うモジュール?ってやつを
使えるようにする「環境の作り方」がわからん。
ってかクソ古いバージョン使ってるから果たして組み込めるのかってところもわからん。 :: は、UNIX なら / で Windows なら \ に相当する。
ファイルシステムでの区切り文字だと考えればよい。
モジュールのファイルは配列変数 @INC に格納されているフォルダを順番に見て探す。
print join("\n",@INC);
でもして、@INC を確認して、そこにモジュールのファイルを格納すればよい。
あるいは自分で "mylibdir" というフォルダを作成してそこにモジュールを入れたなら、
BEGIN { push @INC, "mylibdir"; } を実行して、use MYLIB::Foo; などとすればよい。 @INC の中身
.
だって。ぇぇ…。
「あるいは〜」を試してみます。ありがとう。 ああ。CPANが理解できなくてファイルをDLできなかったんで、
この程度のことができない俺にはこの先は無理だなって昔あきらめたんだったわ…。 msys2をWindowsにインストールしてPerlを使う
https;//perlzemi.com/blog/20180806153350.html Perl - ArchWiki
https;//wiki.archlinux.jp/index.php/Perl あー。そういうコンソール(?)が要るのね。
cmdとかplで cpan て入れてもエラーとしか言わないからぐだってた。
ちょっと試したら動いた。なんか設定が足りてない雰囲気でNo such fileとか言われたけどもうちょい調べたらいけそう。
いやまじありがとう。 10年ぶりぐらい久しぶりというか偶然perl板に来た
でUbuntuのターミナルで下記をコマンドすると
エラーが出たのでChatGPTで聞いてみた
print join("\n",@INC);
下記のエラーが出ます。
bash:予期しないトークン '('周辺に構文エラーが有ります。
このエラーの意味が理解できません。
print join("\n",@INC);これのどこが間違っているのでしょうか?
ChatGPT
ターミナルで実行するコマンドは、Perlのコードのようですね。ただし、bashシェルで実行しているため、エラーが発生しています。
bashシェルでは、Perlのコードを直接実行することはできません。Perlコードを実行するには、Perlのインタプリタを使用する必要があります。
以下は、Perlのコードを実行する方法です。
Perlのインタプリタをインストールしていない場合は、まずPerlをインストールしてください。
Perlのスクリプトファイルを作成し、その中に以下のコードを記述します。
perl
Copy code
print join("\n", @INC);
作成したスクリプトファイルを実行するために、ターミナルで以下のコマンドを入力します。
Copy code
perl スクリプトファイル名.pl
ここで、「スクリプトファイル名.pl」は、作成したPerlスクリプトファイルの実際のファイル名です。
これにより、Perlのインタプリタが起動し、指定したコードが実行されます。@INCは、Perlのモジュールの検索パスを示す特殊な変数であり、上記のコードではモジュールの検索パスを改行で区切って表示しています。User
なれることを願っています。
これ見てそうだperlのコマンドだった
正確に教えてくれたわと気づいた こんにちは、これはBingです。😊
あなたのメッセージは、PerlとPythonのコードとエラーメッセージを含んでいますが、どちらの言語でヘルプが必要ですか?
わかりました。Perlのコードはbashではなく、perlコマンドで実行してください。例えば、ターミナルで以下のように入力します。
perl -e ‘print join(“\n”,@INC);’
これで、Perlのモジュールを探すパスのリストが表示されるはずです。