Rance Hall wrote: > here is the prelim setup: > > my $delimiter = ";;;"; > my $teststring = "name;;;encryptedpassword;;;date"; > > my @userdetails = split($delimiter, $teststring); > > here is the goal: > > I would like to find a delimiter value that I can use to both create and > read from a flat-file database where splitting on the $delimiter doesn't > improperly split either the encryptedpassword value, or a reasonable > date format. > > Question: > > What would a good value for $delimiter be? > > Ive got an idea that my three semicolon approach is not going to stand > up to all possible password encryption schemes, so I probably need > something more bullet proof than this.
Three things that may work: 1. Convert the password field to a character set that does not conflict with the delimiter (like passwd(5) does.) 2. Put the password field at the end of the line. For example: my $teststring = 'name;date;encryptedpassword'; my @userdetails = split /$delimiter/, $teststring, 3; 3. Use fixed length fields. For example: my $teststring = pack 'a20 a30 a8', 'name', 'encryptedpassword', 'date'; my @userdetails = unpack 'a20 a30 a8', $teststring; John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>