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

Re^3: Reading Sendmail .db files

by tachyon (Chancellor)
on Nov 24, 2004 at 01:41 UTC ( #410033=note: print w/replies, xml ) Need Help??

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

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

[root@www mail]# cat #!/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]# ./ virtusertable.db => [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



Replies are listed 'Best First'.
Re^4: Reading Sendmail .db files
by Maddingue (Sexton) on Nov 24, 2004 at 09:40 UTC
    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.



Log In?

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2021-01-27 16:35 GMT
Find Nodes?
    Voting Booth?