#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %rows; my @wanted = (1, 3, 13 ,17, 22, 23, 21); #open(FILE, '<', 'status1.dat') or die $!; while (my $line = ) { chomp $line; $rows{$.} = [split /\,/, $line] if (grep {$_ == $.} @wanted); } #close(FILE) or die $!; warn Dumper \%rows; #open(OUT, '>>', 'trend.csv') or die $!; #print OUT join "\n", map {join ';', @{$rows{$_}}[0,1]} @wanted; print join "\n", map {join ';', @{$rows{$_}}[0,1]} @wanted; #close(OUT) or die $!; __DATA__ 1,A,C 2,B 3,C,DELTA 4,D 5,E 6,F 7,G 8,H 9,I 10,AJ 11,AA 12,AB 13,AC 14,AD 15,AE 16,AF 17,AG 18,AH 19,AI 20,BJ 21,BA 22,BB 23,BC 24,BD