<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://leo.leung.xyz/wiki/index.php?action=history&amp;feed=atom&amp;title=Perl</id>
	<title>Perl - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://leo.leung.xyz/wiki/index.php?action=history&amp;feed=atom&amp;title=Perl"/>
	<link rel="alternate" type="text/html" href="https://leo.leung.xyz/wiki/index.php?title=Perl&amp;action=history"/>
	<updated>2026-11-06T10:02:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://leo.leung.xyz/wiki/index.php?title=Perl&amp;diff=3966&amp;oldid=prev</id>
		<title>Leo: initial content</title>
		<link rel="alternate" type="text/html" href="https://leo.leung.xyz/wiki/index.php?title=Perl&amp;diff=3966&amp;oldid=prev"/>
		<updated>2019-09-23T05:05:50Z</updated>

		<summary type="html">&lt;p&gt;initial content&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Perl is a scripting language. &lt;br /&gt;
&lt;br /&gt;
== Basics ==&lt;br /&gt;
Since I know PHP, here&amp;#039;s the PHP equivalent for some of Perl&amp;#039;s constructs.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! PHP Arrays !! Perl Arrays&lt;br /&gt;
|-&lt;br /&gt;
| {{highlight|lang=php|code=&lt;br /&gt;
$a = [];&lt;br /&gt;
$a = [ &amp;#039;x&amp;#039;, &amp;#039;y&amp;#039;, &amp;#039;z&amp;#039; ];&lt;br /&gt;
$a = range(1, 100);&lt;br /&gt;
$a[] = &amp;#039;push&amp;#039;;&lt;br /&gt;
$a = arary_merge(&amp;#039;x&amp;#039;, $array1, $array2)&lt;br /&gt;
$len = count($a)&lt;br /&gt;
&lt;br /&gt;
foreach ($x as $k) {..}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
| {{highlight|lang=perl|code=&lt;br /&gt;
@a = ();&lt;br /&gt;
@a = ( &amp;#039;x&amp;#039;, &amp;#039;y&amp;#039;, &amp;#039;z&amp;#039; );&lt;br /&gt;
@a = 1..100;&lt;br /&gt;
$a[@a] = &amp;#039;push&amp;#039;;&lt;br /&gt;
@a = (&amp;#039;x&amp;#039;, @array1, @array2);&lt;br /&gt;
$len = scalar(@a);   # or  $len = @a&lt;br /&gt;
&lt;br /&gt;
foreach $k (@a) {..}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! PHP Hashes || Perl Hashes&lt;br /&gt;
|-&lt;br /&gt;
| {{highlight|lang=php|code=&lt;br /&gt;
$h = [];&lt;br /&gt;
$h = array[&lt;br /&gt;
  &amp;#039;foo&amp;#039; =&amp;gt; &amp;#039;bar&amp;#039;,&lt;br /&gt;
  &amp;#039;abc&amp;#039; =&amp;gt; &amp;#039;xyz&amp;#039;,&lt;br /&gt;
];&lt;br /&gt;
$h[&amp;#039;x&amp;#039;] = 42;&lt;br /&gt;
 &lt;br /&gt;
foreach ($h as $key =&amp;gt; $value) {..}&lt;br /&gt;
 &lt;br /&gt;
$a = array_keys($h);&lt;br /&gt;
$b = array_values($h);&lt;br /&gt;
&lt;br /&gt;
$x = isset($h[&amp;#039;foo&amp;#039;]); &lt;br /&gt;
&lt;br /&gt;
unset($h[&amp;#039;x&amp;#039;]);&lt;br /&gt;
}}&lt;br /&gt;
| {{highlight|lang=perl|code=&lt;br /&gt;
%h = ();&lt;br /&gt;
%h = (&lt;br /&gt;
  &amp;#039;x&amp;#039; =&amp;gt; &amp;#039;y&amp;#039;,&lt;br /&gt;
  &amp;#039;z&amp;#039; =&amp;gt; &amp;#039;w&amp;#039;,&lt;br /&gt;
);&lt;br /&gt;
$h{&amp;#039;x&amp;#039;} = 42;&lt;br /&gt;
&lt;br /&gt;
while (($key,$value) = each(%h)) {..}&lt;br /&gt;
 &lt;br /&gt;
$a = keys(%h);&lt;br /&gt;
$b = values(%h);&lt;br /&gt;
&lt;br /&gt;
exists $h{&amp;#039;foo&amp;#039;};&lt;br /&gt;
 &lt;br /&gt;
delete $h{&amp;#039;x&amp;#039;};&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! PHP Strings || Perl Strings&lt;br /&gt;
|-&lt;br /&gt;
| {{highlight|lang=php|code=&lt;br /&gt;
$s = strtoupper($s);&lt;br /&gt;
&lt;br /&gt;
$s = strtolower($s);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if ($s1 == $s2) {..}&lt;br /&gt;
&lt;br /&gt;
preg_match( &amp;quot;/(\w+)/&amp;quot;, $s, $match );&lt;br /&gt;
$substr = $match[1];&lt;br /&gt;
&lt;br /&gt;
preg_match_all( &amp;quot;/(\w+)/&amp;quot;, $s, $match );&lt;br /&gt;
$all = $match[0];&lt;br /&gt;
 &lt;br /&gt;
$s = preg_replace( &amp;quot;/\s+/&amp;quot;, &amp;#039;X&amp;#039;, $s, 1 );&lt;br /&gt;
$s = preg_replace( &amp;quot;/\s+/&amp;quot;, &amp;#039;X&amp;#039;, $s );&lt;br /&gt;
 &lt;br /&gt;
$s = trim($s);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| {{highlight|lang=perl|code=&lt;br /&gt;
$s = lc($s);&lt;br /&gt;
$s =~ tr/A-Z/a-z/;&lt;br /&gt;
$s = uc($s);&lt;br /&gt;
$s =~ tr/a-z/A-Z/;&lt;br /&gt;
&lt;br /&gt;
if $sq eq $s2&lt;br /&gt;
&lt;br /&gt;
$s =~ m/(\w+)/;&lt;br /&gt;
$substr = $1;&lt;br /&gt;
&lt;br /&gt;
@all = ($s =~ m/(\w+)/g);&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
$s =~ s/\s+/X/;&lt;br /&gt;
$s =~ s/\s+/X/g;&lt;br /&gt;
 &lt;br /&gt;
$s =~ s/^\s+|\s+$//g;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! PHP Environment Variables !! Perl Environment Variables&lt;br /&gt;
|-&lt;br /&gt;
| {{highlight|lang=php|code=&lt;br /&gt;
$_SERVER&lt;br /&gt;
$_SERVER[&amp;#039;REQUEST_METHOD&amp;#039;]&lt;br /&gt;
$argv[$i+1]&lt;br /&gt;
$argv[0] &lt;br /&gt;
}}&lt;br /&gt;
| {{highlight|lang=perl|code=&lt;br /&gt;
%ENV&lt;br /&gt;
$ENV{REQUEST_METHOD}&lt;br /&gt;
$ARGV[$i]&lt;br /&gt;
$0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! PHP Functions !! Perl Subroutines&lt;br /&gt;
|-&lt;br /&gt;
| {{highlight|lang=php|code=&lt;br /&gt;
function foo() {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function foo2($x, $y) {&lt;br /&gt;
  return $x + y;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
foo2(10, 20);&lt;br /&gt;
}}&lt;br /&gt;
| {{highlight|lang=perl|code=&lt;br /&gt;
sub foo {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub foo2 {&lt;br /&gt;
  my ($a, $b) = @_;&lt;br /&gt;
  return $a + b;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
foo2(10, 20);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also == &lt;br /&gt;
* https://www.tutorialspoint.com/perl/perl_subroutines.htm&lt;br /&gt;
* https://perlmaven.com/subroutines-and-functions-in-perl&lt;br /&gt;
* https://www.perltutorial.org/passing-parameters-to-subroutine/&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
	</entry>
</feed>