0

以下のような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;
}
4

2 に答える 2