Perlについての質問箱 29箱目at TECH
Perlについての質問箱 29箱目 - 暇つぶし2ch770:デフォルトの名無しさん
07/02/28 00:10:35
$input=<STDIN>;
$input=~s/\n//;

print "$input";

コマンドラインから「\n\n」と入力した場合に
「\n\n」と出力されるのではなく、改行2個が出力されるようにしたいんですが
どうすればいいですか?

771:デフォルトの名無しさん
07/02/28 00:17:23
自力でs/\\n/\n/g;とするかevalするか

772:デフォルトの名無しさん
07/02/28 00:24:39
>>771
わかりました。ありがとうございます。

773:デフォルトの名無しさん
07/02/28 00:52:29
>>771,772
evalは安易に使うとコマンド実行も出来ちゃうので正規表現にしとけ。
どうしてもeval使う場合は入力チェックしないと危険よ

774:770
07/02/28 01:14:01
>>773
アドバイスありがとうございます。
自分でちょっとしたテキスト処理をやりたいだけなので大丈夫です。
\< や \/ や \. などの入力が入った場合、その都度
s/\\\</\</;
s/\\\./\./;
を書かなければいけないのでevalにします。ありがとうございました。

775:768
07/02/28 13:05:37
>769 サンクス。
自由度がありすぎて面倒な部分もあるんだけど、
やっぱPDFJでいってみます。



776:デフォルトの名無しさん
07/02/28 16:35:41
質問です 頓珍漢だった笑ってください

perlはCの #include に相当する機能はあるのでしょうか?

今、Perlで統計解析の処理をしています。解析手法ごとに異なったスクリプト
を作っています。

入出力部分が複雑なんでここの部分と全体で使える共通サブルーチンだけ切り出して
別ソースにして、実行時に組み込んで使いたいのですが、どうも旨くゆきません。

ぐぐったりしてみましたが、Use、Requireの話しか検索できません。何か単純に
Includeする方法は無いのでしょうか?




777:デフォルトの名無しさん
07/02/28 16:48:38
>>776
そう難しくないからモジュールにしてuse使うべきだな。


778:デフォルトの名無しさん
07/02/28 16:48:43
  ァ  ∧_∧ ァ,、
 ,、'` ( ´∀`) ,、'`
  '`  ( ⊃ ⊂)  '`


779:デフォルトの名無しさん
07/02/28 16:49:14
 ははは      
   ∧_∧                もうダメ      
   ( ´∀`)                 ∧_∧          モウ カンベン
.  ( つ ⊂ )     ヒヒヒヒ         (´∀` ,,)、 あははは    シテクダサイ
   .)  ) )  ○   ∧_∧ ,     , へ,, へ⊂),    ∧_∧ ○,
  (__)_)⊂ ´⌒つ´∀` )つ   (_(__)_丿  ⊂(´∀`⊂ ⌒ヽつ


780:デフォルトの名無しさん
07/02/28 16:52:53
requireで問題なくできそうだけど駄目なんかな

781:デフォルトの名無しさん
07/02/28 17:02:56
目線を高くしてオブジェクト指向にしたらどうだ?

782:デフォルトの名無しさん
07/02/28 17:07:13
776はrequireやuseの説明を読んでないのではないのでは?
includeとスペルが違うからって脊髄反射したのか?
そうでないのなら、ますはrequireでは駄目だった点を質問文につけないと回答者は答えようがないぞ

783:デフォルトの名無しさん
07/02/28 17:08:32
すまん
×776はrequireやuseの説明を読んでないのではないのでは?
○776はrequireやuseの説明を読んでないのでは?


784:デフォルトの名無しさん
07/02/28 17:11:40
名前空間の問題とかあるし、普通にモジュール作るのがいいと
思うけどな。よほどこったことやるんじゃなけりゃ、Exporter
使えば一発だし。


785:デフォルトの名無しさん
07/02/28 17:14:16
>>776は最後に1;を入れ忘れてると見た

786:笑われた 776
07/02/28 17:22:05
すみません確かにRequireに関して真面目に読んでいないです

Cの#includeのつもりだったので、

------------ 今まで ------------

初期の宣言など・・・

open(FP, $filename) or die($filename);

while(<FP>) {
$hash{$key} = hoge;
}


------------ 変更 ------------


初期の宣言など・・・

require 'other.pl';

&sub($filename, \%hash);


と変更しただけなんですが・・・・実行時に



787:デフォルトの名無しさん
07/02/28 17:25:10
ワッフルワッフル!!

788:デフォルトの名無しさん
07/02/28 23:16:02
単純に定数の扱いがやっかいかな。perlは。

789:デフォルトの名無しさん
07/03/01 01:53:41
use constant FOO => 'bar';

use Readonly;
Readonly my $HOGE => 'fuga';

こういうのでいいじゃん。

790:デフォルトの名無しさん
07/03/01 08:05:44
PerlでCPANによるモジュールのインストールが失敗します。
install LWP::Simple
....
BEGIN failed--compilation aborted at /System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level/HTML/TokeParser.pm line 12.
Compilation failed in require at ../blib/lib/HTML/Form.pm line 116.
html/form-param.......dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-24
Failed 24/24 tests, 0.00% okay
....

どなたかお助けを。
環境:MacOS X 10.4 Tiger, perl 5.8.6


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch