A = [a1、a2、... aN]などの配列を作成しました。この配列をデータファイルに保存する方法。各要素は1つの行に配置します。言い換えれば、配列Aのために、ファイルは次のようになります配列をプレーンテキストファイルに保存する問題
a1
a2
a3
...
A = [a1、a2、... aN]などの配列を作成しました。この配列をデータファイルに保存する方法。各要素は1つの行に配置します。言い換えれば、配列Aのために、ファイルは次のようになります配列をプレーンテキストファイルに保存する問題
a1
a2
a3
...
非常にシンプルな(これは、配列が明示的にあなたの質問がなく、かなりない配列として指定されていることを、当然のことながら、想定しています)を明確にする:
#!/usr/bin/perl -w
use strict;
my @a = (1, 2, 3); # The array we want to save
# Open a file named "output.txt"; die if there's an error
open my $fh, '>', "output.txt" or die "Cannot open output.txt: $!";
# Loop over the array
foreach (@a)
{
print $fh "$_\n"; # Print each entry in our array to the file
}
close $fh; # Not necessary, but nice to do
上記のスクリプトは、 "output.txtと" に次のように記述します:
1
2
3
あなたがforeach
ループをしたくない場合は、あなたがこれを行うことができます:
print $fh join ("\n", @a);
あなたの 'map'は冗長です。 – Sobrique
@Sobrique:確かに、 'join'組み込み関数はすでに 'loopy'なので私はそれを削除し、結合の引数の丸括弧を捨てました(レビュー待ち)。 –
今では 'オープン' の3引数形式を使用する必要があります。また、ファイルハンドルを字句に入れる方がよいでしょう。 "私の$ファイル '>'、 'output.txt'を開きます..." – zgpmax
@hochgurgler +1理由はここにあります:http://stackoverflow.com/questions/1479741/why-is-three-argument -open-calls-with-lexical-filehandles-a-perl-best-practice – dgw
@hochgurgler情報をありがとう。私は3つの引数の形式が存在することは知らなかったが、それがベストプラクティスであったということになるだろう! –