スペースがセパレータである場合の perl qw 問題の解決法
2022-01-29 03:08:07
qwは、perlで配列を作成する際に使用することができます。
しかし、20人の名前の配列を作成したい場合、それぞれの名前が "Join smith" "Harry Potter" という形式、つまりそれぞれの名前に姓と名の両方が含まれていると問題が発生します。このとき、qwは動作しません。qwはスペースをセパレータとして使用するからです。
以下にいくつかの代替策を示しますので、参考にしてください。
解決策1
配列の作成には、最も原始的なスキームである二重引用符を使用します。
コピーコード
コードは以下の通りです。
@names=("Join smith","Harry Potter");
print @names[0];
その結果は以下の通りです。
F:\>perlb.pl
スミスへの参加
F:ⅯⅯⅯ
オプション2
簡単な回避策があります。qwはスペースでしか区切れないので、人名の真ん中にあるスペースを他の文字に置き換えてみましょう。
名前=qw/Join_smith Harry_Potter/;
# そして出力時に中央のジョイナーを置き換えます
コピーコード
コードは以下の通りです。
@names[0]=~s/_/ /g;
print @names[0];
その結果は以下の通りです。
F:\>perlb.pl
スミスへの参加
F:ⅯⅯⅯ
オプション3
分割機能を使って作成する。
コピーコード
コードは以下の通りです。
# First we define a variable
$names="Join smith,Harry potter",
# Here you use the split function, where split // between the two slashes is where you want to split, in this case with a comma as the split boundary
my @names=split/,/,$names;
rint @names[0];
その結果は以下の通りです。
F:\>perlb.pl
スミスへの参加
F:ⅯⅯⅯ
関連
-
指定したフォルダーにあるリンク切れファイルのシンボリックリンクを自動的に削除するスクリプト
-
Visual studio 2019 初心者向けサードパーティライブラリ追加チュートリアル(入門編)
-
ASP + ajaxはトップを達成するために、同じサポートと反対側のコードのステップ
-
ASPで短い日付を0から長い2つの日付に書式設定する
-
aspとphpの時限式ページ生成のためのアイデアとコード
-
asp は整数の mod を受け取り、小数点以下がある場合は自動的に 1 を加算します。
-
SharePoint Server 2019の新機能をご紹介します。
-
Perlのファイルハンドルの説明
-
コンストラクタでのPerlメソッド使用法入門
-
Perl 構文による Perl 演算子の使用法ガイド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
asp バッチの追加・変更・削除操作のサンプルコード
-
msxml3.dll Error 800c0019 システムエラー:-2146697191 解決策
-
aspで文字列を数値に変換する関数のまとめ
-
ASPとPHPのファイル操作速度の比較
-
ASPでは、.NETのStringオブジェクトと同様に、文字部分に対してPadLeftとPadRightの関数が実装されています。
-
現在のフルパス(url)を取得するためのasp関数コード
-
perl use vars pragma 使用のヒント
-
重複するコンテンツ(重複する行+重複するフィールドの配列)を削除するための perl スクリプトコード
-
perlの尖ったブラケット演算子(<>)について
-
PerlのSort関数の使い方まとめと使用例