in reply to Re^2: Variable scope
in thread Variable scope

Static variables have their uses. For example, one might generate a crc32 table on-demand. This has the advantages of: (1) not using globals, (2) not relying on BEGIN, (3) on-demand construction, (4) conciseness. It replaces the less expressive construct

{ my $table; sub foo { $table //= init_tables(0x123); ... } }
There's nothing wrong with procedural programming.