- ベストアンサー
テキストファイルからリモートのファイル名を読み込んでローカルにダウンロードする方法
- テキストファイルからリモートのファイル名を読み込み、ローカルにダウンロードする方法について質問します。
- 現在、テキストファイルの読み込みはできていますが、ファイル名を使用してダウンロードする方法がわかりません。
- ファイル名の後の長い空白が原因でエラーが発生している可能性も考えられますが、解決方法がわかりません。どのようにすればファイル名の先頭の28文字を取得し、ダウンロードできるでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
あ! うっかりしてました。(;^_^A アセアセ $FTPremotefile =~ /^(.{28})/; s要らないです。 m(__)mペコ
その他の回答 (2)
- marimo_cx
- ベストアンサー率25% (873/3452)
$FTPremotefile の中身は正しいのですか? って言うか正しく無いなら正しい内容にすれば良いかと。 必ず先頭28文字がファイル名であるなら $FTPremotefile =~ s/^(.{28})/; で、$1に先頭28文字が得られます。
お礼
ご回答ありがとうございます。早速やってみます。
補足
このとおりやってみたのですが、残念ながら下記のようなエラーが出て実行できませんでした。 Might be runaway multi-line // string starting on line 92 line 92は $FTPremotefile =~ s/^(.{28})/; でした。
- marimo_cx
- ベストアンサー率25% (873/3452)
一体何してるんだか解りません ソース出してください
補足
open (INPUT,"<$path/$filename") || die "could not open file : $!\n"; while($FTPremotefile = <INPUT>) { $FTP -> get($FTPremotefile, $FTPlocalfile) || die "Get失敗 $!\n";# ゲット(ファイルのダウンロード) } close (INPUT) || die "could not close file : $!\n"; INPUT(CSVFILENAME.TXT)にはダウンロードしたいファイル名が出力されているのですが、読み込んだとき1レコードの先頭の28文字分だけがファイル名であとは空白なので、空白が長すぎてゲットのところでエラーが出ているのではと思うのですが。
お礼
訂正ありがとうございます。