以下のようなcsvファイルがあります。
Service Area Code Phone Numbers Preferences
17 9861511646 0 D 2
17 9861310397 0 D 2
13 9827035035 0 A 2
13 9827304969 0 D 2
13 9827355786 0 A 2
13 9827702373 0 A 2
17 9861424414 0 D 2
13 9827702806 0 A 2
23 9832380279 0 D 2
13 9827231370 0 D 2
13 9827163453 0 D 2
9861.csv、9827.csvなどの最初の4桁に従って新しいファイルを作成したい
データは 9861.csv で次のようになります。
Service Area Code Phone Numbers Preferences
17 9861511646 0 D 2
17 9861310397 0 D 2
17 9861424414 0 D 2
9827.csv データ:
Service Area Code Phone Numbers Preferences
13 9827035035 0 A 2
13 9827304969 0 D 2
13 9827355786 0 A 2
13 9827702373 0 A 2
13 9827702806 0 A 2
13 9827231370 0 D 2
13 9827163453 0 D 2
ここに私のコード
my $file = "mycsvfile.csv";
open(my $data, '<', $file) or die "Could not open '$file' $!\n";
while (my $line = <$data>) {
my @fields = split "," , $line;
my $first_four = substr ($fields[1], -10, 4,);
open $line{$first_four}, '>', "$first_four.csv";
print { $line{$first_four} } $line;
close OUT;
}