ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/lib/AnyEvent.pm
Revision: 1.1
Committed: Wed Apr 27 01:26:44 2005 UTC (19 years, 2 months ago) by root
Branch: MAIN
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 =head1 NAME
2    
3     AnyEvent - ???
4    
5     =head1 SYNOPSIS
6    
7     =head1 DESCRIPTION
8    
9     =over 4
10    
11     =cut
12    
13     package AnyEvent;
14    
15     use Carp;
16    
17     $VERSION = 0.1;
18    
19     no warnings;
20    
21     my @models = (
22     [Coro => Coro::Event::],
23     [Event => Event::],
24     [Glib => Glib::],
25     [Tk => Tk::],
26     );
27    
28     sub AUTOLOAD {
29     $AUTOLOAD =~ s/.*://;
30    
31     for (@models) {
32     my ($model, $package) = @$_;
33     if (defined ${"$package\::VERSION"}) {
34     $EVENT = "AnyEvent::Impl::$model";
35     eval "require $EVENT"; die if $@;
36     goto &{"$EVENT\::$AUTOLOAD"};
37     }
38     }
39    
40     for (@models) {
41     my ($model, $package) = @$_;
42     $EVENT = "AnyEvent::Impl::$model";
43     if (eval "require $EVENT") {
44     goto &{"$EVENT\::$AUTOLOAD"};
45     }
46     }
47    
48     die "No event module selected for AnyEvent and autodetect failed. Install any of these: Coro, Event, Glib or Tk.";
49     }
50    
51     1;
52