No.2ベストアンサー
- 回答日時:
open(SRC, "a.u") || die;
# ファイル"a.u"を読み込みのために開く (||失敗したらスクリプトを強制終了)
open(DST, "> a.v") || die;
# ファイル"a.v"を書き込みのために開く (||失敗したらスクリプトを強制終了)
select DST;
#標準出力を(STDOUTから)DST("a.v")に変更
while (<SRC>) {#ファイルハンドルSRCより行単位で読み出し
if (/^`eval/) {# 行先頭が"`eval"と一致するか?
s/$&//; マッチした部分を''に置換→"`eval"の削除
eval;# 行をPerlのコードとして実行
} else {
print;# 行を標準出力に出力
}
}
close SRC;
close DST;
exit 0;
ファイルa.uを読み、
`eval で始まる行は`evalより後ろをPerlのコードとして実行。
そうでない行はa.vに出力。
といったことをやってるようです。
`eval というのがなんとなく怪しげ…
微妙な記号違いで意味が違う(変わる)場合があります。
参考URL:http://www.rfs.jp/sitebuilder/perl/index.html
丁寧な回答ありがとうございます!
上記の意味は成る程わかったと思います(?)。
が、結局SRCの中の `eval の行がPerlのコードとは・・
これが難解でして・・汗
兎に角ありがとうございました。
No.1
- 回答日時:
ファイル「a.u」の中の文字列を
ファイル「a.v」に移す作業をしています。
ただし「`eval」と言う文字列があった場合は書き込まない。(`ってメタ文字じゃないよねぇ?たぶん・・・)
open(SRC,"a.u");
@SRC = <SRC>;
close(SRC);
foreach $src (@SRC) {
if ($src =~ /^`eval/) {
$src = s/$&//;
eval;
} else {
$DTS .= $src;
}
}
open(DST,">a.v");
print DST $DST;
close(DST);
書き直すとこんな感じですか?
間違っているかもしれないので、自信ないです。
早速の回答ありがとうございます!
上記の意味はわかったと思います(?)。
・・が、結局SRCの中の `eval の行がPerlのコードなんですね・・・・
ここがまたなんとも難解なので、目的には到達できませんね(汗
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP 画像が表示出来ません。 1 2023/02/02 16:30
- C言語・C++・C# 略語の読み方について 2 2023/05/25 12:35
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- Visual Basic(VBA) ExcelVBA No.を自動連番で設定をしながらデータ入力をしたい 2 2022/08/03 18:19
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
while(<ハンドラ>) {} で行数を...
-
perlで、文字列の中から何番目...
-
オープンしたファイルで行の連結
-
ファイルから読み込んだ文字を
-
perlのflock関数でロックをかけ...
-
close()で例外が投げられる理由
-
AutoCADのスクリプト
-
テキストファイルの本文中に行...
-
cgiの投票回数制限設定について...
-
batファイルでrenameができませ...
-
エラー 'dir.h' : No such fi...
-
HTMLのフォームで画像と文...
-
ExcelをCSV書き出す場合のシー...
-
awkスクリプトでダブルクォーテ...
-
Perlの変数に文字数制限(容量...
-
readdir()で得られるファイル・...
-
ファイル全てを .xlsm に変更し...
-
パスから最後のディレクトリだ...
-
テキストデータから指定した1...
-
一定時間が経過したフォルダの削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
close()で例外が投げられる理由
-
perlのflock関数でロックをかけ...
-
改行コードが勝手に
-
巨大ファイルの行をを逆順に並...
-
オープンしたファイルで行の連結
-
Perl で syntax error
-
where can I buy snowbord in t...
-
open中のファイルをrename
-
perlを用いた特定文字列間の抽...
-
Perlで他サイトの情報を取得し...
-
die関数のエラー出力先について
-
ハッシュにファイルハンドル
-
サブスクリプトとのファイルハ...
-
テキストファイルの本文中に行...
-
perlで大容量CSVのsort方法につ...
-
フォルダが開かなくなりました。
-
AutoCADのスクリプト
-
ジョブショップスケジューリング
-
バッチファイルの作り方(CSV→...
-
awkスクリプトでダブルクォーテ...
おすすめ情報