I keep seeing the \"my\" keyword in front of variable names in example Perl scripts online but I have no idea what it means. I tried reading the manual pages and other site
Quick summary: my creates a new variable, local temporarily amends the value of a variable
In the example below, $::a refers to $a in the 'global' namespace.
$a = 3.14159;
{
my $a = 3;
print "In block, \$a = $a\n";
print "In block, \$::a = $::a\n";
}
print "Outside block, \$a = $a\n";
print "Outside block, \$::a = $::a\n";
# This outputs
In block, $a = 3
In block, $::a = 3.14159
Outside block, $a = 3.14159
Outside block, $::a = 3.14159
ie, local temporarily changes the value of the variable, but only within the scope it exists in.
Source: http://www.perlmonks.org/?node_id=94007
Update
About difference between our and my please see
(Thanks to ThisSuitIsBlackNot).