Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 30.066.867 Times

Commands::Guarded 0.01

  Date Added: September 08, 2010  |  Visits: 533

Commands::Guarded

Report Broken Link
Printer Friendly Version


Product Homepage
Download (73 downloads)

Commands::Guarded Perl package provides better scripts through guarded commands. SYNOPSIS use Commands::Guarded; my $var = 0; step something => ensure { $var == 1 } using { $var = 1 } ; # $var is now 1 step nothing => ensure { $var == 1 } using { $var = 2 } # bug! ; # $var is still 1 (good thing too) my $brokeUnless5 = step brokenUnless5 => ensure { $var == 5 } using { $var = shift } ; # nothing happens yet print "var: $varn"; # prints 1 $brokeUnless5->do(5); print "now var: $varn"; # prints 5 step fail => ensure { $var == 3 } using { $var = 2 } ; # Exception thrown here This module implements a deterministic, rectifying variant on Dijkstras guarded commands. Each named step is passed two blocks: an ensure block that defines a test for a necessary and sufficient condition of the step, and a using block that will cause that condition to obtain. If step is called in void context (i.e., is not assigned to anything or used as a value), the step is run immediately, as in this pseudocode: unless (ENSURE) { USING; die unless ENSURE; } If step is called in scalar or array context, execution is deferred and instead a Commands::Guarded object is returned, which can be executed as above using the do method. If do is given arguments, they will be passed to the ensure block and (if necessary) the using block. The interface to Commands::Guarded is thus a hybrid of exported subroutines (see SUBROUTINES below) and non-exported methods (see METHODS). For a detailed discussion of the reason for this modules existence, see RATIONALE below..

Requirements: No special requirements
Platforms: Linux
Keyword: Commandsguarded Ensure Guarded Guarded Perl Libraries Programming Scripts Using Var
Users rating: 0/10

License: Freeware Size: 12.29 KB
COMMANDS::GUARDED RELATED
Libraries  -  LibCVS Perl 1.00.02
LibCVS Perl simplifies the job of writing tools around CVS by providing Perl libraries that programmers can access directly in their code. Its current focus is libraries that use the cvsclient protocol to talk to a CVS server and are targetted...
87.04 KB  
Libraries  -  Cache::Memcached::Tie 0.03
Cache::Memcached::Tie is a Perl module created for using Cache::Memcached as hash. SYNOPSIS #!/usr/bin/perl -w use strict; use Cache::Memcached::Tie; my %hash; my $memd=tie %hash,Cache::Memcached::Tie, {servers=>[192.168.0.77:11211]};...
15.36 KB  
Libraries  -  Distributed Multiplatform Framework 0.7.1 / 1.0 RC1
Distributed Multiplatform Framework is a component-based programming framework using XML (or currently a hardcoded variant) as the repository. The samples are implemented either in console or wxWidgets. This shows the independence of the GUI or...
5.2 MB  
Libraries  -  Inline::Java::PerlInterpreter 0.52
Inline::Java::PerlInterpreter is a Perl module used to call Perl directly from Java using Inline::Java. SYNOPSIS import org.perl.inline.java.* ; class HelpMePerl { static private InlineJavaPerlInterpreter pi = null ; public HelpMePerl()...
94.21 KB  
Desktop Utilities  -  Better Weather
Better Weather contains a couple of scripts using normal KDE and Linux tools to provide better display of weather info than KDEs weather applet. It downloads the information from the US national weather service and maps from weather.com. Two...
686.08 KB  
Libraries  -  AutoSplit 5.8.8
AutoSplit is a Perl module that can split a package for autoloading. SYNOPSIS autosplit($file, $dir, $keep, $check, $modtime); autosplit_lib_modules(@modules); This function will split up your program into files that the AutoLoader module...
12.2 MB  
Libraries  -  Oraperl 1.19
Oraperl is a Perl access to Oracle databases for old oraperl scripts. SYNOPSIS eval use Oraperl; 1; || die $@ if $] >= 5; # ADD THIS LINE TO OLD SCRIPTS $lda = ⊦a_login($system_id, $name, $password) $csr = ⊦a_open($lda, $stmt...
368.64 KB  
Libraries  -  Tree::PseudoIncLib 0.05
Tree::PseudoIncLib is a Perl class for encapsulating a description of pseudo-INC array. ABSTRACT This module encapsulates a perl-type library description data and provides methods for manipulating that data. It is in no way associated with any...
38.91 KB  
Libraries  -  Test::STDmaker 0.23
Test::STDmaker is a Perl module to generate test scripts, demo scripts from a test description short hand. SYNOPSIS ####### # Procedural (subroutine) interface # use Test::STDmake qw(find_t_roots get_data perl_command); @t_path =...
133.12 KB  
Audio Tools  -  h300goodies 1.0
h300goodies project consists of a handful of Perl and shell scripts that were written to help manage a users music collection on an iRiver H320 or H340 digital jukebox. These scripts dont run on the player natively, but are used when the player...
8.19 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.12.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB