develooper Front page | perl.beginners | Postings from August 2009

Re: Attentipn Please!! Need A Perl script to read the UIDs from twotext files having the details in the format as given in the file(lLDIF format)

Thread Previous | Thread Next
From:
Uri Guttman
Date:
August 17, 2009 13:54
Subject:
Re: Attentipn Please!! Need A Perl script to read the UIDs from twotext files having the details in the format as given in the file(lLDIF format)
Message ID:
87eiraw97r.fsf@quad.sysarch.com
>>>>> "I" == Ian  <pcs305@gmail.com> writes:

you asked for some code review earlier and here it is.

  I> use strict;

use warnings ;

  I> my $inpf = 'student.txt';
  I> my $uidf = 'uidf.txt';
  I> open (DATA, $inpf) or die "Can't open file $inpf!\n";

don't use the DATA handle for your own files. DATA is the standard
handle for data lines at the end of the source file.

also use lexical handles as they won't conflict with globs
elsewhere. bareword glob names are global

open (my $in, $inpf) or die "Can't open file $inpf!\n";


  I> open (UIDF, ">$uidf") or die "Can't open output file!\n";

use the 3 args form of open with the '>' being the second argument.

  I> #read file
  I> my $line;
  I> while ($line = <DATA>) {

while( my $line = <$in> ) {

  I>         chomp($line);

  I>     if ($line =~ /^dn:\s+uid=(s\d{2}-\d{1}-\d{1}-\d{1,3})/) {

why put the {1} quantifiers in there? the default is 1 anyway. it just
adds to the noise. and sometimes \d\d is more readable than \d{2} (it is
fewer chars at least! :).

  I>             print UIDF ("$1\n");
  I>     }
  I> }
  I> close (DATA, UIDF);

close only takes one argument. those handles will be closed anyway at
the end of the program. if you used lexical handles as i say above, they
will be closed at the end of their scope.

  I> END;

that isn't normal perl. there is an END {} block thing but no plain
END. i am not even sure how that would be parsed but warnings (which you
didn't enable) should spit out something like bareword or expression in
void context or maybe an END {} without its code block.

uri

-- 
Uri Guttman  ------  uri@stemsystems.com  --------  http://www.sysarch.com --
-----  Perl Code Review , Architecture, Development, Training, Support ------
--------- Free Perl Training --- http://perlhunter.com/college.html ---------
---------  Gourmet Hot Cocoa Mix  ----  http://bestfriendscocoa.com ---------

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About