Orelly's Perl books from the CD bookshelf still work.
Just declare a variable with "my =" in front of it (just once), and everything will work as usual:
old:
$num = 3; print $num;
my $num = 3; print $num;
$ perl
(perl v5.32.1, without "use strict" of course)
As I always used
use strict; use warnings;
as something like muscle memory, I didn't know this.
use strict; no strict qw(vars); $foo = $bar;
---
The other major reason is `"refs"`, which disable symbolic refs. Honestly this is *THE* main reason I recommend `use strict`.
Symbolic refs are how you did arrays of arrays prior to Perl5. (Among other uses.)
use 4.0; @a = 'b','c'; @b = (1, 2); @c = (3, 4); print $a[1]->[1], "\n"; # 4
It isn't (generally) needed anymore of course.
use 5.0; my @a = ( \[1,2], \[3,4] ); print $a[1]->[1], "\n"; # 4
Orelly's Perl books from the CD bookshelf still work.
Just declare a variable with "my =" in front of it (just once), and everything will work as usual:
old:
new: