#!/usr/bin/perl print "File Scope\n\n"; $package = 'package'; my $my_var = 'lexical'; my $x = 1; print "$package\n"; print "$my_var\n"; print "$x\n"; { print "\nBlock Scope\n\n"; $package = 'abc'; my $x = 2; print "$package\n"; print "$my_var\n"; print "$x\n"; } print "\nFile Scope\n\n"; print "$package\n"; print "$my_var\n"; print "$x\n"; print "\nfactorial(5): ", factorial(5), "\n"; sub factorial { my $factorial = shift; return $factorial *= $factorial == 1 ? $factorial : factorial($factorial - 1); }