Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^2: Reading Sendmail .db files

by Maddingue (Sexton)
on Nov 23, 2004 at 08:50 UTC ( #409837=note: print w/replies, xml ) Need Help??


in reply to Re: Reading Sendmail .db files
in thread Reading Sendmail .db files

Oh thanks, that works. Although I'd still like to know why the Perl scripts (and the short C program) I wrote didn't work. Are the .db files Sendmail create so special that another program can't read them? But, thank you very much for the command, I didn't know the -u option of makemap. At least I can see the content of its db and check what is inside.

Replies are listed 'Best First'.
Re^3: Reading Sendmail .db files
by tachyon (Chancellor) on Nov 24, 2004 at 01:41 UTC

    With regard to BerkelyDB => RTFM. You can't just make syntax up and expect it to work. This works fine.....

    [root@www mail]# cat reader.pl #!/usr/bin/perl use BerkeleyDB; tie %hash, 'BerkeleyDB::Hash', -Filename => $ARGV[0] or die "can't read file '$ARGV[0]': $!"; print map { " $_ => $hash{$_}\n" } sort keys %hash; [root@www mail]# ./reader.pl virtusertable.db @blech.com.au => blech.com.au [snip]

    With regard to your second example, once again you need to RTFM. You have a syntax error in that DB_HASH is a $PERL_SCALAR not a constant as you assume. I would agree with your C style brain that it should logically be a constant but I did not design the interface.....

    tie %hash, 'DB_File', $file, O_RDONLY, 0666, $DB_HASH

    cheers

    tachyon

      Well, I did RTFM of both modules, but missed some parts apparently.. Like $DB_HASH instead of DB_HASH. I'll blame DB_File API for mixing up C-style constants and Perl-style constants. I can also blame myself for not copy&paste the code like I did for the BerkeleyDB example. It seems that it was the -Property => DB_DUP | DB_DUPSORT that prevent the code to run. When I comment this option, the script works. Well, thanks anyway.

        I totally agree that the DB_File API is rather sub optimal with its mixed constants.

        cheers

        tachyon

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://409837]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (7)
As of 2021-01-28 00:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?