タグ付けされた質問 「perl」

Perlは手続き型の高水準の汎用動的プログラミング言語であり、正規表現と文字列解析機能のネイティブサポートで知られています。Perlに関する一般的な質問には、このタグを使用してください。新しい(ただし関連する)言語Raku(以前の "Perl 6")に関連するものについては、rakuタグを使用してください。他の言語でのPerlスタイルの正規表現の場合は、regexタグを使用します。PCREライブラリに基づいている場合は、pcreタグを使用します。


7
元の文字列を維持しながら、文字列にPerl置換を実行するにはどうすればよいですか?
Perlでは、正規表現を使用して文字列の置換を実行し、元の値を変更せずに別の変数に値を格納するための良い方法は何ですか? 私は通常、文字列を新しい変数にコピーし、それをs///新しい文字列の置換を行う正規表現にバインドしますが、これを行うより良い方法があるかどうか疑問に思っていましたか? $newstring = $oldstring; $newstring =~ s/foo/bar/g;
180 regex  perl  replace 


9
弱く型付けされた言語に関する明らかな矛盾についての明確化を求める
強い型付けは理解できると思いますが、弱い型付けの例を探すたびに、型を自動的に強制/変換するプログラミング言語の例を見つけることになります。 たとえば、「タイピング:強いvs.弱い」というこの記事では、静的vs.動的は、Pythonは強く型付けされていると述べています。 パイソン 1 + "1" Traceback (most recent call last): File "", line 1, in ? TypeError: unsupported operand type(s) for +: 'int' and 'str' ただし、そのようなことはJavaとC#で可能であり、そのために弱く型付けされたとは見なしません。 ジャワ int a = 10; String b = "b"; String result = a + b; System.out.println(result); C# int a = 10; string b …
178 c#  java  python  perl  weakly-typed 


22
実行中のPerlスクリプトへのフルパスを取得するにはどうすればよいですか?
Perlスクリプトがあり、実行中にスクリプトの完全パスとファイル名を特定する必要があります。スクリプトの呼び出し方によって異なり、スクリプト$0が含まれているfullpath+filenameこともあれば、単に含まれていることもありfilenameます。作業ディレクトリも変化する可能性があるため、確実に取得する方法は考えられませんfullpath+filename、スクリプト。 誰かが解決策を手に入れましたか?
168 perl  path  location 


22
改行がファイルの最後の文字である場合、それを削除するにはどうすればよいですか?
ファイル内の最後の文字である場合、最後の改行を削除したいファイルがいくつかあります。 od -c私が実行したコマンドがファイルに最後の新しい行を書き込むことを示しています: 0013600 n t > \n 私はsedを使っていくつかのトリックを試しましたが、考えられる最善の方法はそのトリックを行わないことです。 sed -e '$s/\(.*\)\n$/\1/' abc これを行う方法はありますか?
162 linux  perl  shell  awk  sed 


20
一方(1)対 for(;;)速度の違いはありますか?
ロングバージョン... より速いwhile (1)Perlスクリプトでの私の使用を見て、同僚が今日主張しましたfor (;;)。インタプリタが違いを最適化することを期待して、それらは同じであるべきだと私は主張しました。ループの反復と同じ数のwhileループで1,000,000,000を実行し、その間の時間を記録するスクリプトを設定しました。それほど大きな違いはありませんでした。私の同僚は、教授がwhile (1)比較1 == 1をしているfor (;;)ので、そうではないと彼が言ったと言った。C ++での100倍の反復回数で同じテストを繰り返しましたが、違いはごくわずかでした。ただし、これは、スクリプト言語と比較してコンパイルされたコードがどれだけ高速になるかを示すグラフィックの例でした。 短縮版... 抜け出すために無限ループが必要な場合に、while (1)よりも優先する理由はありますfor (;;)か? 注:質問から明確でない場合。これは、友人同士での純粋に楽しい学術的な議論でした。これは、すべてのプログラマーが悩むべき超重要な概念ではないことを認識しています。私(そして他の人も)がこの議論からいくつかのことを学んだ素晴らしい答えをすべてありがとう。 更新:前述の同僚は、以下の返答を検討しました。 埋もれる場合に備えて、ここに引用されています。 AMDアセンブリプログラマからのものです。彼は、Cプログラマ(人々)は自分のコードが非効率であることを理解していないと述べました。彼は本日言ったが、gccコンパイラーは非常に優れており、彼のような人々を廃業させた。たとえば彼は言って、while 1vs について教えてくれましたfor(;;)。私は今それを習慣から使用していますが、gccと特にインタープリターは最適化されているため、これらの両方の日に同じ操作(プロセッサーのジャンプ)を実行します。

30
Perlの隠された機能?
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 有用な作業を行うために実際に使用できた、Perlの本当に便利ですが難解な言語機能は何ですか? ガイドライン: CPANではなく、Perlコアへの回答を制限してください 例と短い説明を入力してください 他の言語の隠し機能にもある隠し機能: (これらはすべてCorionの回答からです) C ダフのデバイス 移植性と標準性 C# 空白で区切られたリストと文字列の引用 エイリアス可能な名前空間 ジャワ 静的イニシャライザ JavaScript 機能はファーストクラスの市民です ブロックのスコープと閉鎖 変数を介して間接的にメソッドとアクセサーを呼び出す ルビー コードによるメソッドの定義 PHP 広範なオンラインドキュメント 魔法の方法 シンボリックリファレンス パイソン 1行の値の交換 コア機能でも独自の機能に置き換える機能 その他の隠し機能: 演算子: ブール準演算子 フリップフロップ演算子 リスト作成にも使用 ++単項-演算子は文字列に取り組みます 繰り返し演算子 宇宙船オペレーター || 演算子(および//演算子)は、一連の選択肢から選択します ダイヤモンドオペレーター m//オペレーターの特別な場合 チルド-チルド「オペレーター」 引用構文: qwオペレーター 文字は、q {}のような構成で引用区切り文字として使用できます 引用メカニズム 構文と名前: 印章の後にスペースができます シンボリック参照を使用して潜水艦に数値の名前を付けることができます 法的な末尾のコンマ …

8
Perlの「祝福」は正確には何をするのでしょうか?
私は、クラスの「新しい」メソッド内でPerlの「bless」キーワードを使用していることを理解しています。 sub new { my $self = bless { }; return $self; } しかし、そのハッシュ参照に対して正確に何を「祝福」しているのでしょうか。
142 perl  bless 

5
\ wと\ bの正規表現のメタ文字の違い
\bと\w正規表現のメタキャラクターの違いを誰かが説明できますか?これらの両方のメタ文字が単語の境界に使用されることは私の理解です。これとは別に、どのメタ文字が多言語コンテンツに効率的ですか?
142 javascript  java  php  regex  perl 



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.