Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.62 KB | None | 0 0
  1. # Foo.pl
  2. package Foo;
  3.  
  4. sub new {
  5.     my ($class, @args) = @_;
  6.     my $self = bless({}, $class); # bless is a magic function that takes an object (int, string, hash, ...) and makes it of class $class
  7.     $self->{name} = "Alice";
  8.     return $self;
  9. }
  10.  
  11. sub name { # this is like descriptor, called on #obj->name
  12.     my $self = shift;
  13.     if (@_) {
  14.         my $new_name = shift;
  15.         $self->{name} = $new_name;
  16.     }
  17.     return $self->{name};
  18. }
  19.  
  20. sub say {
  21.     my $self = shift;
  22.     print "Hi, I'm $self->{name}";
  23. }
  24.  
  25. # main.pl
  26. use Foo;
  27.  
  28. my $foo = Foo->new;
  29. $foo->name("Bob");
  30. $foo->say; # prints "Hi, I'm Bob
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement