Perl VS PHP

Perl VS PHP,第1张

概述Perl VS PHP 比較表 這份之前找到的 Perl VS PHP 的對照表, 不過原始網站連不進去, 幸好當初有另存下來. 先貼起來放著. 以防流失... 原始網站: Perl/Php Translation 其它參考可見: PHP in contrast to Perl     td { font-family: helvetica, arial; } pre, xmp { font-fa Perl VS PHP 比較表

這份之前找到的 Perl VS PHP 的對照表,不過原始網站連不進去,幸好當初有另存下來. 先貼起來放著. 以防流失...

原始網站: Perl/Php Translation

其它參考可見: PHP in contrast to Perl  

 

td { Font-family: helvetica,arial; } pre,xmp { Font-family: courIEr; } a { text-decoration:none; color: blue; Font-weight:bold; } a:hover { color: green; text-decoration:underline; } Perl/PHP Translation
arrays

hashes

data structures

array split/join

case conversion

string comparisons

functions

 

string matching operations

basename/dirname

environment variables

POST/GET parameters

HTML elements

URL encode

MySQL database access

 

— Perl arrays — PHP arrays
@a = ();

@a = ( 'xx',11,33.5,);

@a = 12..33;

$a[2] = 'something';

$len = scalar(@a);
# or
$len = @a;

@a3 = ('xx',@a1,@a2);

($x,$y) = @a;

$a[@a] = 'new'; # push

push
pop
shift
unshift
splice

foreach $i (@a) { .. }
$a = array();

$a = array( 'xx',);

$a = range(12,33);

$a[2] = 'something';

$len = count($a);



$a3 = array_merge('xx',$a1,$a2);

List($x,$y) = $a;

$a[] = 'new'; # push

array_push
array_pop
array_shift
array_unshift
array_splice

foreach ($a as $i) { .. }

— Perl hashes — PHP hashes
%h = ();

%h = ( 'x' => 'y',
'z' => 'w',
);

$h{'x'} = 7;

while (($key,$value) = each(%h))
{ .. }

$a = keys(%h);
$b = values(%h);

delete $h{'x'};
$h = array();

$h = array( 'x' => 'y',
'z' => 'w',
);

$h['x'] = 7;

foreach ($h as $key => $value)
{ .. }

$a = array_keys($h);
$b = array_values($h);

unset( $h['x'] );

— Perl data structures — PHP data structures
%h = ('a'=>13,'b'=>25);
@x = ('hi','there','all',);

@mix = ( %h,@x,
[33..39],
{ x=>15,yy=>23,},
);

$mix[0]->{'b'} # == 25
$mix[0]{'b'} # == 25
$mix[2]->[2] # == 35
$mix[2][2] # == 35

$h = array('a'=>13,'b'=>25);
$x = array('hi',);

$mix = array($h,$x,
range(33,39),
array('x'=>15,'yy'=>23),
);

$mix[0]['b'] # == 25

$mix[2][2] # == 35

— Perl array split/join — PHP array split/join
@a = split( '|',$s );

@a = split( 's+',$s );


$s = join( '|',@a );
$a = preg_split( '/|/',$s,
-1,PREG_SPliT_NO_EMPTY );
$a = preg_split( '/s+/',PREG_SPliT_NO_EMPTY );

$s = join( '|',$a );

— Perl case conversion — PHP case conversion
$s = lc($s);
$s = uc($s);

$s =~ tr/a-z/A-Z/;
$s = strtolower($s);
$s = strtoupper($s);


— Perl string comparisons — PHP string comparisons
$s1 eq $s2



$s1 lt $s2
strcmp($s1,$s2) == 0
# or
$s1 === $s2

strcmp($s1,$s2) < 0

— Perl functions — PHP functions
sub foo {
my @args = @_;
}

sub foo {
$x = 5;
}





foo2( @a,%h );
function foo() {
$args = func_get_args();
}

function foo() {
global $x;
$x = 5;
}

function foo2($x,$y) {
}

foo2( $a,$h );

— Perl string matching operations — PHP string matching operations
$s =~ m/(w+)/;
$substr = $1;

@all = ($s =~ m/(w+)/g);


$s =~ s/s+/X/;
$s =~ s/s+/X/g;

$s =~ s/^s+|s+$//g;
preg_match( "/(w+)/",$match );
$substr = $match[1];

preg_match_all( "/(w+)/",$match );
$all = $match[0];

$s = preg_replace( "/s+/",'X',1 );
$s = preg_replace( "/s+/",$s );

$s = trim($s);

— Perl basename/dirname — PHP basename/dirname
use file::Basename;

$b = basename($path);
$d = dirname($path);
 

$b = basename($path);
$d = dirname($path);

— Perl environment variables — PHP environment variables
%ENV

$ENV{REQUEST_METHOD}

$ARGV[$i]

$0
$_SERVER

$_SERVER[REQUEST_METHOD]

$argv[$i+1]

$argv[0] # PHP/CGI only

— Perl POST/GET parameters — PHP POST/GET parameters
#form/hyperlink parameters:
# s : single-valued
# m : multi-valued

use CGI (:standard);




$s = param('s');
@m = param('m');

@param_names = param();
$num_params = param();
#form/hyperlink parameters:
# s : single-valued
# m[] : multi-valued
# (such as multi-selections
# and checkBox groups)

$ParaM
= array_merge($_GET,$_POST);

$s = $ParaM['s']; # a scalar
$m = $ParaM['m']; # an array

$param_names = array_keys($ParaM);
$num_params = count($ParaM);

— Perl HTML elements — PHP HTML elements
use CGI (:standard);







$ref = "x.cgi";
a({href=>$ref},"yy")

textfIEld({name=>"yy",size=>5})

password({name=>"yy",size=>5})

textarea({name=>"yy",
cols=>5,rows=>2})

submit({value=>"yy"})

button( {name=>"xx",
value=>"yy",
onclick=>"submit()",
}
)

%labels = (0=>'a',1=>'q',2=>'x');
popup_menu( { name=>"xx",
values=>[0..2],
labels=>%labels,
size=>4,
}
)


@a = ('xx','yy','zz');
radio_group( { name=>'nn',
values=> @a,
default=>'_',
linebreak=>1,
}
)

%labels = ('xx'=>'L1','yy'=>'L2');
@a = keys( %labels );
checkBox_group( { name=>'nn',
values=> @a,
labels=> %labels,
}
)

table(
Tr(
[
td(['a','b']),
td(['x','y']),
]
)
)

# The Perl/CGI functions have the
# additional property of "stability"
# when used in reentrant forms.
# The values of the HTML elements are
# set according to the incoming
# parameter values for those elements.
# The versions below are not stable.

$ref = "x.PHP";
<a href="<?PHP echo $ref?>">yy</a>

<input type=text name=yy size=5>

<input type=password name=yy size=5>

<textarea name=yy cols=5 rows=2>

</textarea>

<input type="submit" value=yy>

<input type="button"
name="xx" value="yy"
onclick="submit()">



<select name="xx" size="4">
<?PHP
$labels = array(0=>'a',2=>'x');
foreach (range(0,2) as $_)
echo "<option value='$_'>",
$labels[$_];
?>

</select>

$a = array('xx','zz');
foreach ($a as $_)
echo "<input type=radio
name=nn value='$_'>$_<br>";




$labels = array('xx'=>'L1','yy'=>'L2');
foreach (array_keys($labels) as $_)
echo "<input type=checkBox
name=nn value='$_'>",
$labels[$_];



<table>
<tr>
<td>a</td><td>b</td>

</tr>
<tr>
<td>x</td><td>y</td>
</tr>
</table>

— Perl URL encode — PHP URL encode
use URI::Escape;

uri_escape($val)
uri_unescape($val)
 


urlencode($val)
urldecode($val)

— Perl MysqL database access — PHP MysqL database access
use DBI;
$dbh = DBI->connect(
'DBI:MysqL:test:localhost',
$usr,$pwd
);

$dbh->do( $sql_op )

$query = $dbh->prepare( $sql_op );
$query->execute();

while(
@record = $query->fetchrow() )
{ .. }


$dbh->quote($val)



 $dbh = MysqL_connect(  'localhost',$usr,$pwd);MysqL_query('USE test') MysqL_query( $sql_op ); $results = MysqL_query( $sql_op );  while($record =        MysqL_fetch_row($results)){ .. }  "'" . addslashes($val) . "'"
总结

以上是内存溢出为你收集整理的Perl VS PHP全部内容,希望文章能够帮你解决Perl VS PHP所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1290624.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存