#PerlとPythonとJavaScript比較メモ たまにPerlもPythonもJavaScriptも使うんですが、文法に混乱しまくっていて何度もその場しのぎの検索するのが面倒なので、自分用にまとめ
2021.12.07(6)配列の要素を全部ループ(for/while)
2021.12.03(5)変数の文字型と数値型の変換 /1
2021.11.29(4)サブルーチン、関数の作り方 /1
2021.11.24(3)if-else文の書き方 /1
2021.11.22(2)ファイルを読み込んで改行ごとの配列にする /3
2021.11.18(1)文字列の中に該当する単語があるかどうかを確認する。 /6



2021.12.07

(6)配列の要素を全部ループ(for/while)↑BTW

■Perl

foreach my $data (@Datas){}

■Python
for data in Datas:
print(data)

■JavaScript
for (data of Datas){}


2021.12.03

(5)変数の文字型と数値型の変換↑BTW

■Perl
気にしなくて良い

■Python
文字型→数値型
float(aa)

数値型→文字型
str(aa)

■JavaScript
文字型→数値型
Number(aa)

数値型→文字型
String(aa)


2021.11.29

(4)サブルーチン、関数の作り方↑BTW

■Perl

sub xxxxxx{
引数全体@_
または:$_[0],$_[1]......
return(xxxx);
}

呼び出し
&xxxxxx(1,2,4);

※定義場所はどこでも良い。引数の事前指定が不要
■Python
def xxxxxx(a, b):
y=a+b
return y


呼び出し
xxxxxx(1,2)

※サブルーチンを先に定義する必要あり
■JavaScript
function xxxxxx(a,b)
{
y=a+b;
return y;
}


呼び出し
xxxx(1,2);

※定義場所はどこでも良い


2021.11.24

(3)if-else文の書き方↑BTW

■Perl

if (a>10){xxxx;}elsif(a>5){yyyy;}else{zzzz;}

■Python
if a>10:
xxxx
elsif a>5:
yyyy
else:
zzzzz

※タブやスペーシング重要
■JavaScript
if (a>10){xxxx;}else if(a>5){yyyy;} else{zzzz;}


2021.11.22

(2)ファイルを読み込んで改行ごとの配列にする↑BTW

■Perl

open (FL,'<'.$filename);
@data=;
close FL;

■Python
f=open(filename,'r')
alldata=f.read()
f.close()
data=alldata.split('\n')

■JavaScript
function fread(filename){
var h;
if( window.XMLHttpRequest ){
h= new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
h= new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
h= new ActiveXObject("Microsoft.XMLHTTP");
}
}
h.open("GET", filename, false);
h.send(null);
return h.responseText;
}
var data= fread("file.txt").split("\n");


2021.11.18

(1)文字列の中に該当する単語があるかどうかを確認する。↑BTW

■Perl

index($text,'abc')

で存在する位置を返す、存在しない時は-1

単に存在するかどうかなら
($text=~/abc/)

がTRUE or FALSE返す(正規表現使用可能)
■Python
text.find('abc')

で存在する位置を返す、存在しない時は-1

単に存在するかどうかなら
('abc' in text)

がTRUE or FALSEを返す

■JavaScript
text.indexOf('abc')

で存在する位置を返す、存在しない時は-1

正規表現を使いたい時は
text.search(/abc/)