> Hello,
>
> I am building a primary key for a database, and I guess the first
question would be
> how safe is a key made from the last 4 digits of a social security num
and the first
> 3 letters of the last name.
I would guess not very, but I don't know what your target sample size
is. I know there is a quick equation for this involving factorials of
10, and 26, but that hurts my head.... Not to mention you want to make
a primary key very fast, on some databases there may be limitations that
don't allow a non-integer field as the primary key, or it may slow them
down unnecessarily. I would create a primary key as an autoincrementing
integer, then just use your "unique" value as a regular key, this also
prevents worrying about collisions.
Now for the PERL question, I have substr. line working correctly.
> I wanted to try it with ReGrex, but the syntax is escaping me.
> Any pointers would appreciated!
Its 'Perl' or 'perl' but never PERL.
> Thanks,
> Dave
> ( webmaster @ www.coraconnection.com / Ft. Worth, TX, USA)
>
>
> #!/usr/bin/perl -w
> #use strict;
>
Commenting this out means it can't help you, and many here might decide
not to either.
> $ss = '1234567890';
> $lname = 'Gilden';
> # $pkey = substr($ss,length($ss)-4,length($ss)) . substr($lname,0,3);
We don't really need the C<length> calls here, C<substr> is pretty smart.
my $pkey = substr($ssn, -4).substr($lname,0,3);
> # print "$pkey\n";
>
> $ss = '09876543';
> $lname = 'Smith';
> # this line is bad! -- trying to have the same functionality as the
substr line.
> $pkey = ($ss =~ m/\d{length($ss)-4}($ss{length($ss)})/);
> # $pkey = ($pkey =~ m/$lname{0,3}/;)
> print "$pkey\n";
>
> # Is there any advantage using =~ m/(\w){3}/ over substr method?
>
Its (most likely) slower. Does that count? I believe the problem is
that you are attempting to call a function within a regex where you
aren't allowed. But using two calls to length within a regex, along wit
h testing for proper capturing, not to mention the line noise, seems
very silly to me. KISS.
> __END__
>
>
http://danconia.org
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>