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>