Cyber Sentry
Application Development
System Architecture Design
Technical Due Diligence
Qmail Support and Consultancy
Scripting Help
Partners
Client Testimonials
Help Sections
Software Patents
Site Map
Contact us
Community
Home

Returning values

Result of a subroutine is always the last thing evaluated. This subroutine returns the maximum of two input parameters. An example of its use follows.

 

sub maximum

{

if ($_[0] > $_[1])

{

$_[0];

}

else

{

$_[1];

}

}

 

$biggest = &maximum(37, 24); # Now $biggest is 37

 

The &printfirsttwo subroutine above also returns a value, in this case 1. This is because the last thing that subroutine did was a print statement and the result of a successful print statement is always 1.

 

Local variables

 

Greenwich Village movers

The @_ variable is local to the current subroutine, and so of course are $_[0], $_[1], $_[2], and so on. Other variables can be made local too, and this is useful if we want to start altering the input parameters. The following subroutine tests to see if one string is inside another, spaces not withstanding. An example follows.

 

sub inside

{

local($a, $b); # Make local variables

($a, $b) = ($_[0], $_[1]); # Assign values

$a =~ s/ //g; # Strip spaces from

$b =~ s/ //g; # local variables

($a =~ /$b/ || $b =~ /$a/); # Is $b inside $a

# or $a inside $b?

}

 

&inside("lemon", "dole money"); # true

 

In fact, it can even be tidied up by replacing the first two lines with

 

local($a, $b) = ($_[0], $_[1]);

 



Qmail Help Section
Perl Tutorial
Linux Command Line Help
Top top Copyright Cyber Sentry Ltd  

Cyber Sentry -- Application Development Sitemap 1 2 3