![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
原因ははっきししています。
<>をリストのコンテキストで使用すると、ファイル全体を読み込み、行毎に分解したリストを返します。
# Perlを使う上でリストとスカラーのコンテキストは重要なものです。しっかり理解してください。
このプログラムでは @listにlist.cgiの各行を要素とするリストが入ります。
$list[0]には list.cgiの1行目になっています。
ファイルの1行目には 'abc','def','ghi' ですから、 'abc','def','ghi' になります。
ファイルには2行目以降がないので、$list[0]で全部であり、$linst[1]以降には何も入っていません。
以上のように、まったく仕様通りの動作です。なんの不思議もありません。
原因は、「違う動作を期待する、あなたの不理解」です。
カンマで分解したいのでは、と推測されますが、それなら、次のような方法を使います。
・split関数を使う
・入力セパレータを表わす特殊変数 $/ を $/=',' と変更して、<>が「カンマ毎に分解する」ようにする(他にも影響が大きいのであまり勧められない)
list.cgiというファイル名からすると、 ファイルの内容をPerlでの記述と解釈させようとしているのではないか、とも推測されます。
@list=('abc','def','ghi');
と書いたのと同じ状態にしたかったのでしょうか。
<>にそんな機能はありません。
他のファイルに書かれたPerlスクリプトを利用するには、次の方法があります。
・require を使う
・モジュールにしてuseを使う
・<>で文字列として取り込んで evalで解釈する
単にリストの内容を別ファイルに記述しただけなら、その別ファイルをPerlスクリプトとして書く必要はありません。
・<>で取り込んで必要に応じて文字列操作する
No.1
- 回答日時:
split はいかがですか?
その場合は、' ' でくくる必要はないのかもしれません。
open(IN,"<data/list.cgi");
@list = split( /,/, <IN>);
close(IN);
print "$list[0]";
'abc'
となると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- その他(プログラミング・Web制作) python 3.10で 同じlistに同じ構文で同じデータ代入した結果が異なる現象発生 7 2022/06/18 11:08
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- Excel(エクセル) EXCELで同一セル内で自動的に改行されてしまう(難問) 6 2023/04/16 00:51
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- UNIX・Linux bashでシングルクォート内の変数の組み込み方教えてください。 2 2023/02/14 19:30
- 数学 △ABC≡△DEF≡△GHIという感じで書き表すのはダメですか? 3 2022/10/23 01:58
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- その他(プログラミング・Web制作) atcoder python コードへの助言 2 2022/08/12 15:31
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アルファベットに付いて質問し...
-
perlをバージョンアップしたら...
-
openした後、closeしないでプロ...
-
テキストファイルで提出とは?
-
arduino の割り込み処理について
-
Perlで特定文字列から特定文字...
-
perl 初等プログラミングについて
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
-
TeraPadエディターの操作方法に...
-
Perlでテキストファイルの一部...
-
こんにちは ブラケッツでプログ...
-
phpとperl
-
Perl n列目の最小値 条件付き
-
Perlで19時から23時までスリー...
-
Perl cgi 編集&削除
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
openした後、closeしないでプロ...
-
perlをバージョンアップしたら...
-
アルファベットに付いて質問し...
-
Perl の外部モジュールの利用方法
-
Strawberry Perl for Windows ...
-
Perlのエラーについてご教授く...
-
perlプログラミング 空白行削除
-
INDIRECT 横に再度抽出したい
-
Perlで時間の計算
-
Wallpaper Engineでおすすめの...
-
bashスクリプト
-
perlでリテラル値はメモリにど...
-
perlのプログラミング 部分入れ...
-
Perlで特定文字列から特定文字...
-
perl LWPでURLにアクセスした時...
-
perlで2次元配列をサブルーチ...
-
perlのrequireの動き方について...
-
ファイルアイコンの左下に緑の□...
-
C言語の問題について
おすすめ情報