37. sub hoge {
my $foo = 'foo';
my $bar = 'bar';
{
my $foo = 'baz';
print $foo . $bar . "n"; # => 'bazbar'
}
print $foo . $bar . "n"; # => 'foobar'
}
38. sub hoge {
{
# memcached
my $guard = Proc::Guard->new(command => ["memcached", "-p", "11211"]);
# do something ...
}
# memcached
}
39.
40.
41. our $foo = 'foo';
sub print_foo {
print $foo . "n";
}
print_foo; # foo
{
local $foo = 'bar';
print_foo; # bar
}
print_foo; # foo
42.
43.
44. sub foo {
my ($num, $str) = @_;
print $num . "n";
print $str . "n";
}
foo(1, "a");
45. use Smart::Args::TypeTiny qw(args);
sub create {
args my $id => 'Id',
my $title => 'Str',
my $description => 'Maybe[Str]',
my $comment => { isa => 'Str', optional => 1 },
# do something...
}
# hash
create(
id => 1,
title => "title",
description => undef,
);