Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
ST/WarpEngine/WarpEngine.pm
package ST::WarpEngine;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
require Exporter;
require AutoLoader;
@ISA = qw(Exporter AutoLoader);
@EXPORT = qw( engage disengage energize );
@EXPORT_OK = qw( refuel set_speed );
$VERSION = '0.01';
$ST::WarpEngine::_core_expelled = 0; # Lokale Modulvariable.
# VORSICHT! NICHT my,
# da der lexikalische
# Sichtbarkeitsbereich
# bei __END__ endet!
1;
__END__
=head1 NAME
ST::WarpEngine - Perl access to Starfleet Warp Engines
=head1 SYNOPSIS
use ST::WarpEngine;
use ST::WarpEngine qw( refuel set_speed );
engage(); # Start engine, waits for energize()
disengage(); # Stop engine
energize(); # Ignite started warp core
refuel(); # Fill the antimatter tanks
set_speed($wfactor); # Set warp factor,
# only while disengage()d
ST::WarpEngine::self_destruct($password); # DESTRUCT SHIPS
ST::WarpEngine::expell_core($password); # Eject warp core
=head1 DESCRIPTION
This module provides direct access to the warp engine of
Starfleet vessels by talking to their SNMP port using
the Starfleet SNMP MIB II as specified in RFC 32053.
For more Information ask for technical help under
techies@<your vessel here>.
=head1 AUTHOR
Farid Hajji <farid.hajji@ob.kamp.net>
=head1 SEE ALSO
perl(1), ST::Beam(3), RFC 32053 Starfleet SNMP MIB II
=cut
# Hier kommen unsere Funktionen, die erst zur Laufzeit geladen
# werden sollten:
sub engage { return if $_core_expelled;
print "engaging warp engine...\n"; }
sub disengage { return if $_core_expelled;
print "disengaged!\n"; }
sub energize { return if $_core_expelled;
print "applying big amounts of energy\n"; }
sub refuel { return if $_core_expelled;
print "your antimatter tanks are refueled\n"; }
sub set_speed { return if $_core_expelled;
print "setting warp factor ", shift(), "\n"; }
sub self_destruct {
if ($_core_expelled) { print "with what?\n"; return; }
my $password = shift;
return if $password ne 'boom'; # Was fuer ein sicheres Passwort!
print "self destruction will occurBOOM!!!!\n";
}
sub expell_core {
return if $_core_expelled;
my $password = shift;
return if $password ne 'getitoutquickquick';
print "expelling core module NOW!\n";
$_core_expelled = 1;
}
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:56:12 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|