Ok, how about this (again untested code!)
my %list; my $listfile = 'france'; my $outfile = 'output'; my $file = '/etc/passwd'; open(OUT, ">$outfile") || die "cannot open $outfile: $!"; open(LIST, $listfile) || die "cannot open $listfile: $!"; while(<LIST>) { my $line = $_; chomp $line; $list{$line} = 1; } open(FILE, $file) || die "cannot open $file: $!"; while(<FILE>) { my $line = $_; chomp $line; if($line =~ m/^(\w+):/) { my $name = $1; if($list{$name}){print OUT $line."\n"} } } > The list is in a file called "france" and contains users name like: > > miko > martha > > The file to control is the /etc/passwd: > > miko:Sn83kdmcsd4ee:816:1005:MirceaKovari:/tmp:/bin/selfa > nikol:Sn83kdmcsd4ee:816:1005:NiklaOlman:/tmp:/bin/selfa > > I need to put in a new file the line of user > "miko"(miko:Sn83kdmcsd4ee:816:1005:MirceaKovari:/tmp:/bin/selfa) that is > contained in the list(file france) but not "nikol" which is not contained > and so on for ol the list and all the /etc/passwd file.Thanks > > _________________________________________________________________ > Scarica GRATUITAMENTE MSN Explorer dall'indirizzo > http://explorer.msn.it/intl.asp. > >