You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs-cvs@perl.apache.org by st...@apache.org on 2004/07/15 08:24:12 UTC

cvs commit: modperl-docs/src/docs/2.0/api/APR Table.pod

stas        2004/07/14 23:24:12

  Modified:    src/docs/2.0/api/APR Table.pod
  Log:
  fix an old outstanding bug in the APR::Table's TIE interface with
  each()/values() over tables with multi-values keys. Now the produced
  order is correct and consistent with keys(). Though, values() works
  correctly only with perl 5.8.x and higher.
  
  Revision  Changes    Path
  1.10      +34 -6     modperl-docs/src/docs/2.0/api/APR/Table.pod
  
  Index: Table.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/APR/Table.pod,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -u -r1.9 -r1.10
  --- Table.pod	22 May 2004 02:03:26 -0000	1.9
  +++ Table.pod	15 Jul 2004 06:24:12 -0000	1.10
  @@ -845,12 +845,19 @@
   C<DELETE>, C<CLEAR>, C<EXISTS>, C<FIRSTKEY>, C<NEXTKEY> and
   C<DESTROY>.
   
  -remark: C<APR::Table> can hold more than one key-value pair sharing
  -the same key, so when using a table through the tied interface, the
  -first entry found with the right key will be used, completely
  -disregarding possible other entries with the same key.  The only
  -exception to this is if you iterate over the list with C<each()>, then
  -you can access all key-value pairs that share the same key.
  +Note regarding the use of C<values()>. C<APR::Table> can hold more
  +than one key-value pair sharing the same key, so when using a table
  +through the tied interface, the first entry found with the right key
  +will be used, completely disregarding possible other entries with the
  +same key.  With Perl 5.8.0 and higher C<values()> will correctly list
  +values the corresponding to the list generated by C<keys()>. That
  +doesn't work with Perl 5.6. Therefore to portably iterate over the
  +key-value pairs, use C<each()> (which fully supports multivalued
  +keys), or C<APR::Table::do>.
  +
  +
  +
  +
   
   =head2 C<EXISTS>
   
  @@ -954,6 +961,27 @@
   =item since: 1.99_10
   
   =back
  +
  +When iterating through the table's entries with C<each()>, C<FETCH>
  +will return the current value of a multivalued key.  For example:
  +
  +  $table->add("a" => 1);
  +  $table->add("b" => 2);
  +  $table->add("c" => 3);
  +  
  +  ($k, $v) = each %$table; # (a, 1)
  +  print $table->{a};       # prints 1
  +  
  +  ($k, $v) = each %$table; # (b, 2)
  +  print $table->{a};       # prints 1
  +  
  +  ($k, $v) = each %$table; # (a, 3)
  +  print $table->{a};       # prints 3 !!!
  +  
  +  ($k, $v) = each %$table; # (undef, undef)
  +  print $table->{a};       # prints 1
  +
  +
   
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: docs-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: docs-cvs-help@perl.apache.org


Re: cvs commit: modperl-docs/src/docs/2.0/api/APR Table.pod

Posted by Stas Bekman <st...@stason.org>.
stas@apache.org wrote:
> stas        2004/07/14 23:24:12
> 
>   Modified:    src/docs/2.0/api/APR Table.pod
>   Log:
>   fix an old outstanding bug in the APR::Table's TIE interface with
>   each()/values() over tables with multi-values keys. Now the produced
>   order is correct and consistent with keys(). Though, values() works
>   correctly only with perl 5.8.x and higher.

Doh! lost the Contributed by: Joe Schaefer. Sorry.

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: docs-dev-unsubscribe@perl.apache.org
For additional commands, e-mail: docs-dev-help@perl.apache.org


Re: cvs commit: modperl-docs/src/docs/2.0/api/APR Table.pod

Posted by Stas Bekman <st...@stason.org>.
stas@apache.org wrote:
> stas        2004/07/14 23:24:12
> 
>   Modified:    src/docs/2.0/api/APR Table.pod
>   Log:
>   fix an old outstanding bug in the APR::Table's TIE interface with
>   each()/values() over tables with multi-values keys. Now the produced
>   order is correct and consistent with keys(). Though, values() works
>   correctly only with perl 5.8.x and higher.

Doh! lost the Contributed by: Joe Schaefer. Sorry.

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: docs-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: docs-cvs-help@perl.apache.org