File: s_e.pm

package info (click to toggle)
libsub-exporter-perl 0.990-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 380 kB
  • sloc: perl: 2,344; makefile: 2
file content (38 lines) | stat: -rw-r--r-- 761 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!perl
package Test::SubExporter::s_e;

use strict;
use warnings;

use Sub::Exporter;

Sub::Exporter::setup_exporter({
  exports => {
    xyzzy        => undef,
    hello_sailor => \&_hs_gen,
    hi_sailor    => \"_hs_gen",
  },
  groups => {
    default => [ qw(xyzzy hello_sailor) ],
    sailor  => [
      xyzzy => undef,
      hello_sailor => { -as => 'hs_works', game => 'zork3' },
      hello_sailor => { -as => 'hs_fails', game => 'zork1' },
    ]
  },
  collectors => [ 'defaults' ],
});

sub xyzzy { return "Nothing happens." };

sub _hs_gen {
  my ($class, $name, $arg, $collection) = @_;

  if (($arg->{game}||'') eq 'zork3') {
    return sub { return "Something happens!" };
  } else {
    return sub { return "Nothing happens yet." };
  }
}

"y2";