Perlを学んでいます。
他人の作ったプログラムに、下記のようなものがあります。
それを読解しようと試みていて、大筋は理解できたと思うのですが、
細かいところで、『これは何?』とつまづいてしまいました。
もしどなたか分かる方がいらっしゃいましたら、暇な時で結構です。
未熟者の私に教えて頂けないでしょうか。どうかよろしくお願いします。
??な個所
・9~15行目の意味:おそらくファイル名の”やスペース等を外しているの
かなと思うのですが・・・
・17~20行目:ここに記述した部分の前後どこにも$ctypeの定義はないので
すが、$ctypeにはなにが入っているのですか?
・28~36行目:いきなり出てきた($fname,$ext2) = split(/\./,$fname);
の$ext2はなんなのでしょうか?拡張子らしい感じはするの
ですが、この35行目でどうして$ext2が拡張子として定義で
きるのでしょうか。
非常に量の多い質問でごめんなさい。答えられるときに答えられる部分のみで結構です。よろしくお願いします!!
http://www.geocities.co.jp/HeartLand-Cosmos/4223 …
No.1ベストアンサー
- 回答日時:
perl は、あんまり詳しくないのですが、分かる範囲で。
>・9~15行目の意味:おそらくファイル名の”やスペース等を外しているのかなと思うのですが・・・
そうですね。9行目は、「ブランク(タブやスペース)filename="(ダブルクォート以外の文字の羅列)" の
ダブルクォート以外の文字の羅列(ファイル名と思われる文字列)を filename に代入しています。
10行目は、ファイル名がダブルクォートで括られていなかったときのためにある処理です。
14,15行目は、同様に name=なんとか ってところから、イコールの右側を切り出して
name に代入しようとしています。
>・17~20行目:ここに記述した部分の前後どこにも$ctypeの定義はないので
> すが、$ctypeにはなにが入っているのですか?
17行目で ctype に代入をしていますね。「Content-type: なんとか」のなんとかの
部分を切り出して ctype に代入しようとしています。
>・28~36行目:いきなり出てきた($fname,$ext2) = split(/\./,$fname);
>の$ext2はなんなのでしょうか?拡張子らしい感じはするの
>ですが、この35行目でどうして$ext2が拡張子として定義で
>きるのでしょうか。
fname はファイル名だとすると、拡張子の前にピリオドがあると想像できます。
split() は、最後の "." の左と右のふたつに分割して、一気に fname と ext2 に
代入します(正確な用語を知りません)。
# こんな説明で、お役に立てますか?
# perl は知りませんが、いっぱしの計算機屋です
>10行目は、ファイル名がダブルクォートで括られていなかったときのために
>ある処理です。
>fname はファイル名だとすると、拡張子の前にピリオドがあると想像
>できます。
>split() は、最後の "." の左と右のふたつに分割して、一気に
>fname と ext2 に代入します
なるほど、この辺がかなり??だったのですが、よく分かりました。
>17行目で ctype に代入をしていますね。「Content-type: なんとか」
>のなんとかの 部分を切り出して ctype に代入しようとしています。
う~ん、ここはファイルのタイプをその記述で取得できるってことなの
でしょうね~。(かな?)
かなり前進致しました。いつもいつも感謝致します!
ありがとう、a-kumaさん!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/10 09:06
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- その他(ソフトウェア) ダウンロードしたファイルの「種類」が「Windowsmediaplayer」に変わってしまい、開くこ 2 2023/07/03 21:45
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字って数字で表現・・・
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
チェックボックスの返す値
-
入力規則をまとめて定義
-
「value」に2つの値をセットす...
-
別サーバーのcgiへバイナリデー...
-
htmlファイルが表示できません
-
vsftpd+sslでアップロードできない
-
ファイルのアップロードができ...
-
INPUT TYPE
-
htmlのフォームからcgiにデータ...
-
硬質カードケースについて 縦向...
-
クッキー書き込みが正常に行わ...
-
サーバーのテキストファイルを...
-
クッキーを使って投票欄に名前...
-
オイラー法の誤差
-
FLASH初心者です。レイヤーを使...
-
submitボタンが押せない? J-sk...
-
[HTML]プルダウンメニューの横...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlで書いたcgiでsqliteの使い...
-
SUN BBSの改造方法
-
tracert ができない原因
-
日本語文字化け(GETメソッド?)
-
チェックボックスでのor検索
-
入力フォームに全角・半角スペ...
-
ネットワークサービスについて
-
【CGI】画像の表示の仕方【Mini...
-
【ASP.NET MVC】フォームヘルパ...
-
DataGridViewの行取得
-
掲示板スパム対策(改造)ガー...
-
CGI.pmを利用のテーブル表示に...
-
フォーム送信でログに保存
-
Windows7でVBScriptによるネッ...
-
CGIで合計を書き出す方法
-
同じname属性の結果を1行にまと...
-
perl ヒア文(print <<"EOM" ...
-
Webアプリケーションを作りたい!
-
ファイル名変更プログラム
-
禁止ワードの設定
おすすめ情報