NineSec Team Shell
Server IP : 184.107.3.203  /  Your IP : 216.73.216.51
Web Server : Apache
System : Linux dedicated2.avenfashion.com.ph 4.18.0-553.40.1.el8_10.x86_64 #1 SMP Mon Feb 10 12:11:18 EST 2025 x86_64
User : adminteladeoro ( 1015)
PHP Version : 8.2.28
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/doc/perl-Sub-Exporter/t/lib/Test/SubExporter/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/doc/perl-Sub-Exporter/t/lib/Test/SubExporter/ObjGen.pm
#!/usr/bin/perl
package Test::SubExporter::ObjGen::Obj;

use strict;
use warnings;

sub new {
  my $class = shift;
  my $code  = $class->can(shift);

  bless { code => $code } => $class;
}

sub group {
  return {
    foo => sub { return 'FOO' },
    bar => sub { return 'BAR' },
  };
}

sub baz {
  return sub {
    return 'BAZ';
  };
}

use overload
  '&{}'  => sub { $_[0]->{code} },
  'bool' => sub { 1 };

package Test::SubExporter::ObjGen;

my ($group_o, $group_b, $baz, $quux);
BEGIN {
  $quux  = sub { sub { 'QUUX' } };
  bless $quux => 'Test::SubExporter::Whatever';

  $group_o = sub { return {
    ringo   => sub { 'starr' },
    richard => sub { 'starkey' },
  } };
  bless $group_o => 'Test::SubExporter::Whatever';

  $baz     = Test::SubExporter::ObjGen::Obj->new('baz');
  $group_b = Test::SubExporter::ObjGen::Obj->new('group');
}

use Sub::Exporter -setup => {
  exports => { baz  => $baz, quux => $quux },
  groups  => { meta => $group_b, ringo => $group_o },
};
  

"call me";

NineSec Team - 2022