From: MK <[EMAIL PROTECTED]> > when i "use DB_File" the files produced lack a dot in their title, eg. > > dbmopen %email, email.db, 0666; > > manipulates a file who's directory entry is actually emaildb
If you do use strict; use warnings; as you should it does not. It reports an error. And apparently rightly so. > MORE IMPORTANTLY, perl will not access a database outside of the same > directory as the script -- it pulls a blank hash. without being able > to include any functional path in the filenames, i can't even call the > script with a soft link...i have to use a shell script to cd first > > that is ridiculous and i presume a bug that may have been fixed > somewhere? If you want to include a string literal in your script enclose it in quotes. In this case it doesn't matter whether you use single or double quotes: dbmopen %email, 'email.db', 0666; or dbmopen %email, "email.db", 0666; What happened was that Perl assumed that you want to join (the dot operator) two unquoted words ... without 'use strict' you are allowed to omit quotes around words like this: $variable = Hello; but you should NEVER EVER do that. The catch is that there is no telling whether that should assign to the $variable the string "Hello" or the results of calling the Hello subroutine. What it does depends on the existence of such subroutine. The next problem is that use DB_File; and dbmopen ... are not related at all. There is an old interface to one (hard to say which) DBM file format via the builtin dbmopen function and there are several different modules for different formats of on-disk-hashes with their own interfaces. If you read the documentation of DB_File, you could see that the way to tie a hash to a DB_File compatible file is definitely not dbmopen(). Jenda ===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz ===== When it comes to wine, women and song, wizards are allowed to get drunk and croon as much as they like. -- Terry Pratchett in Sourcery -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/