The following module was proposed for inclusion in the Module List:

  modid:       Readonly
  DSLIP:       Rdprp
  description: Create read-only scalars, arrays, hashes.
  userid:      ROODE (Eric J. Roode)
  chapterid:    6 (Data_Type_Utilities)
  communities:
    comp.lang.perl.modules, RPI lily

  similar:
    constant

  rationale:

    This module provides a useful extension to fundamental Perl data
    types, allowing them to be marked as non-modifiable at runtime or
    compile-time. It provides several advantages in both interface and
    functionality over the "constant" pragma.

    "constant" creates pseudo-variables that look like C macros (for
    example, no leading $@% character). It's sometimes difficult to use
    these "variables" -- you can't take references to them, you have to
    be careful when using them in certain syntactically-ambiguous
    situations (eg as hash keys). It's difficult to create and use
    hierarchical variables (a constant array of arrays of hashes, eg).
    You can't really make constant hashes with it (indeed, you can't
    really make constant arrays, only constant lists).

    Readonly solves all of these problems. The variables it creates
    retain their leading $@% character; you can take references to them
    and the referent remains read-only; it's simple to make hierarchical
    data structures read-only -- either at the top-level only, or
    deeply.

    Since this module's function is of a fundamental nature, and since
    it includes a small hierarchy of subordinate packages, I believe
    that a top-level namespace is justified. It is my hope that the Perl
    community will agree.

    Thanks.

  enteredby:   ROODE (Eric J. Roode)
  enteredon:   Tue Jan  7 22:12:06 2003 GMT

The resulting entry would be:

Readonly          Rdprp Create read-only scalars, arrays, hashes.    ROODE


Thanks for registering,
The Pause Team

PS: The following links are only valid for module list maintainers:

Registration form with editing capabilities:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=e5100000_0b84654f9cc6f077&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=e5100000_0b84654f9cc6f077&SUBMIT_pause99_add_mod_insertit=1

Reply via email to