#!/usr/bin/perl use strict; use warnings; use PPI; my $script; { local $/ = undef; $script = ; } my $doc = PPI::Document->new(\$script); my $vars = $doc->find('PPI::Statement::Variable'); my @var_names = map { $_->variables } @$vars; print "$_\n" for @var_names; __END__ #!/usr/bin/perl use strict; use warnings; my $foo = 'bar'; our $blah = 'asdf'; { local $_ = 'hello world'; print $_, $/; }