Skip to content

Instantly share code, notes, and snippets.

@Shinpeim
Created March 22, 2013 10:24
Show Gist options
  • Select an option

  • Save Shinpeim/5220327 to your computer and use it in GitHub Desktop.

Select an option

Save Shinpeim/5220327 to your computer and use it in GitHub Desktop.
use strict;
use warnings;
package Dynamic {
sub new {
bless {}, shift;
}
sub dump {
my ($self) = @_;
for my $key (keys %{$self}) {
print "$key : @{[$self->{$key}]}\n";
}
}
sub AUTOLOAD {
my ($self, $value) = @_;
my $key = our $AUTOLOAD;
$self->{$key} = $value if defined $value;
return $self->{$key};
}
}
my $dynamic = Dynamic->new;
$dynamic->nyan("mew");
$dynamic->wan("bow");
$dynamic->dump;
# 出力結果
# Dynamic::wan : bow
# Dynamic::nyan : mew
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment