| Perl | Output |
|---|---|
#!/usr/bin/perl
#
#
# Named and default parameters
#
sub area {
%args=@_;
my($length,$width,$area);
$length=$args{"length"} ? $args{"length"} : 20;
$width=$args{"width"} ? $args{"width"} : 20;
print "_" x 20 ."\n";
print "Length = ".$length."\n";
print "Width = ".$width."\n";
print "Area = ".$length*$width."\n";
print "_" x 20 ."\n";
}
area();
area("length",30);
area(width=>50);
area(lenght=>100,width=>34);
area("width",56,"length",67);
|
____________________ Length = 20 Width = 20 Area = 400 ____________________ ____________________ Length = 30 Width = 20 Area = 600 ____________________ ____________________ Length = 20 Width = 50 Area = 1000 ____________________ ____________________ Length = 20 Width = 34 Area = 680 ____________________ ____________________ Length = 67 Width = 56 Area = 3752 ____________________ |
| Perl | Output |
|---|---|
#!/usr/bin/perl -w require 'sub7a.pl'; require 'sub7b.pl'; print "------------------------------\n"; print ` cat sub7a.pl`; print "------------------------------\n"; print `cat sub7b.pl`; print "------------------------------\n"; $var=7; print addtwo($var)."\n"; print addthree($var)."\n"; |
------------------------------
#!/usr/bin/perl -w
require "sub7b.pl";
sub addtwo {
my $var=$_[0];
$var+=2;
return $var;
}
#
# always include this
#
1;
------------------------------
#!/usr/bin/perl -w
sub addthree {
my $var=$_[0];
$var+=3;
return $var;
}
#
# always include this
#
1;
------------------------------
9
10
|
| Perl | Output |
|---|---|
#!/usr/bin/perl -w require 'sub8.pl'; print "------------------------------\n"; print ` cat sub8.pl`; print "------------------------------\n"; $var=7; print addtwo($var)."\n"; print addthree($var)."\n"; |
------------------------------
#!/usr/bin/perl -w
sub addtwo {
$var=$_[0];
$var+=2;
return $var;
}
sub addthree {
$var=$_[0];
$var+=3;
return $var;
}
#
# always include this
#
1;
------------------------------
9
12
|
| Perl | Output |
|---|---|
#!/usr/bin/perl -w
require 'sub9.pl';
sub addtwo {
my $var=$_[0];
$var--;
}
print "------------------------------\n";
print ` cat sub9.pl`;
print "------------------------------\n";
$var=7;
print perly::addtwo($var)."\n";
print perly::addthree($var)."\n";
print addtwo($var)."\n";
|
------------------------------
#!/usr/bin/perl -w
package perly;
sub addtwo {
$var=$_[0];
$var+=2;
return $var;
}
sub addthree {
$var=$_[0];
$var+=3;
return $var;
}
#
# always include this
#
1;
------------------------------
9
10
7
|
| Perl | Output |
|---|---|
#!/usr/bin/perl -w
#
#
# Read /etc/passwd
#
setpwent; # start lookup
while(@pw=getpwent) {
#
# returns ($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$dir,$shell)
#
print $pw[6]."\t".$pw[0]."\n" if ($pw[6]);
}
endpwent;
|
root root bin bin daemon daemon adm adm lp lp sync sync shutdown shutdown halt halt mail mail news news uucp uucp operator operator games games gopher gopher FTP User ftp Nobody nobody virtual console memory owner vcsa NSCD Daemon nscd Privilege-separated SSH sshd Portmapper RPC user rpc RPC Service User rpcuser Anonymous NFS User nfsnobody Apache apache X Font Server xfs Named named desktop desktop Allan Kochis kochis Jeremy Stockman,,512-682-7631,512-291-0114 ps3167901 Tommy Heaney,ITNW 2310,T&TH 705,512-635-3942 ps3167904 Montgomery Conner,,,(512) 659-9367 ps3167907 Aaron Rivas ps3167908 Arturo F. Dominguez ps3167911 Charles Egner,null,null,512-589-5927 ps3167913 Andrew McDonald,5126448494,5126448494 ps3167916 |
| Perl | Output |
|---|---|
#!/usr/bin/perl
#
#
# Read /etc/group
#
setgrent; # start lookup
$governor=0;
while(($name,$pw,$gid,$members)=getgrent) {
print $name."\n";
last if ($governor++ > 10);
}
endgrent;
|
root bin daemon sys adm tty disk lp mem kmem wheel mail |
| Perl | Output |
|---|---|
#!/usr/bin/perl # # # login # $whoami=getlogin; print $whoami."\n"; |
kochis |
| Perl | Output |
|---|---|
#!/usr/bin/perl
#
#
# timing
#
sub timer {
print "-" x 20 ."\n";
($user,$system,$cuser,$csystem)=times;
print $user."\n";
print $system."\n";
print "-" x 20 ."\n";
}
&timer;
for($outer=0;$outer |
-------------------- 0 0 -------------------- -------------------- 27.93 127.67 -------------------- |
| Perl | Output |
|---|---|
#!/usr/bin/perl
#
#
# Where am I?
#
# ($package,$filename,$line,$subr,$has_args,$wantarray)
#
sub f1 {
$a=(caller(0))[3];
print "I am in function ".$a."\n";
}
sub f2 {
$a=(caller(0))[3];
print "I am in function ".$a."\n";
}
sub f3 {
$a=(caller(0))[3];
print "I am in function ".$a."\n";
}
sub f4 {
$a=(caller(0))[3];
print "I am in function ".$a."\n";
}
sub f5 {
$a=(caller(0))[3];
print "I am in function ".$a."\n";
}
f1();
f3();
f5();
f4();
f2();
|
I am in function main::f1 I am in function main::f3 I am in function main::f5 I am in function main::f4 I am in function main::f2 |
| © Allan Kochis | Last revision 10/6/2005 |