"Synh Vo" <[EMAIL PROTECTED]> wrote in message
news:1779CE9992706F45BDC9575124A5AAE51BFC41@;a0001-xpo0114-s.hodc.ad.allstate
.com...
> Hi,
>
> I'm trying to read from a file and based on the some of the matched info,
> print out certain statements. This is probably very easy for the folks
here.
>

See inline coments:

>
> open(FILE, "< obj.list")  or die "can't open file : $! " ;
> open(NEW, "> new.list"); # check rv of EVERY open!!!!
>
> chomp(@lines = <FILE>);
> foreach my $item (@lines) {
              ^^^^^^^^
here you are assigning the value of each element to $item for each
iteration.

>   if (/ADB/) {
        ^^^^^^ but here you look for the string "ADB" in $_ instead of
$item.

try: if ($item =~ /ADB/) {
same thing for the other regex in the conditional below.

>     print "grant select , update, delete, insert on "  $item  " user;" ;

this print will go to STDOUT. Dont you want it to go to NEW?
try: print NEW "grant select , update, delete, insert on "  $item  " user;"
;
same thing for the other prints

>     print " grant select on " $item " to tcmesg_select ;" ;
>     if (/p_/) {
>       print " grant execute on " $item" to tcmesg_admin; " ;
>     }
> }
>
> close(FILE);
> close(NEW);

Paranoid programmers (like me) even check the rv of close.

close(NEW) or warn("new.list probably corrupted: $!");

Todd W.



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to