http://qs321.pair.com?node_id=11138986


in reply to Re^3: Why Perl Docs examples do not use strict and warnings often
in thread Why Perl Docs examples do not use strict and warnings often

Please try to take it easier. :)

We had many trolls recently, but IMHO this question regarding perldsc is legit.

For example:

Count how many times my is missing here

Declaration of an ARRAY OF ARRAYS @AoA = ( [ "fred", "barney" ], [ "george", "jane", "elroy" ], [ "homer", "marge", "bart" ], ); Generation of an ARRAY OF ARRAYS # reading from file while ( <> ) { push @AoA, [ split ]; } # calling a function for $i ( 1 .. 10 ) { $AoA[$i] = [ somefunc($i) ]; } # using temp vars for $i ( 1 .. 10 ) { @tmp = somefunc($i); $AoA[$i] = [ @tmp ]; } # add to an existing row push $AoA[0]->@*, "wilma", "betty"; Access and Printing of an ARRAY OF ARRAYS # one element $AoA[0][0] = "Fred"; # another element $AoA[1][1] =~ s/(\w)/\u$1/; # print the whole thing with refs for $aref ( @AoA ) { print "\t [ @$aref ],\n"; } # print the whole thing with indices for $i ( 0 .. $#AoA ) { print "\t [ $AoA[$i]->@* ],\n"; } # print the whole thing one at a time for $i ( 0 .. $#AoA ) { for $j ( 0 .. $AoA[$i]->$#* ) { print "elem at ($i, $j) is $AoA[$i][$j]\n"; } }

> > > Many of the examples also run fine in the absence of strict and warnings.

And they still would with my declarations for all Perl 5 versions, even without 'use strict'.

update

But they would fail for versions not supporting ->@* and ->#* , which makes the backwards compatibility argument even more dubious.

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery