qとかqqが便利

最近、ちょくちょくqq使うようにしている。
っていうのも、"(ダブルクォーテーション)を使わないといけないケースがあって、
大抵は、半角スペースを含むパスみたいのの対策とか。

use strict;
use warnings;
use v5.10;

my $a   = '+++';
my $ab  = 'vvv';
my $abc = 'ooo';

say "\$a=\"$a\" \$ab=\"$ab\" \$abc=\"$abc\"";
say '$a="', $a, '" $ab="', $ab, '" $abc="', $abc, '"';
say qq/\$a="$a" \$ab="$ab" \$abc="$abc"/;

say '---';

say q/'$abc$abc'     = /, '$abc$abc';
say q/"$abc$abc"     = /, "$abc$abc";
say q/"${a}bc${ab}c" = /, "${a}bc${ab}c";

say '---';

say q[qq/$abc$abc/          = ], qq/$abc$abc/;
say q[qq/"$abc$abc"/        = ], qq/"$abc$abc"/;
say q[qq/"${abc}${ab}c"/    = ], qq/"${abc}${ab}c"/;
say q[qq/"${a}bc$abc"/      = ], qq/"${a}bc$abc"/;
say q[qq/"$a" "$ab" "$abc"/ = ], qq/"$a" "$ab" "$abc"/;

実行結果はこんな感じ。
$ perl aaa.pl
$a="+++" $ab="vvv" $abc="ooo"
$a="+++" $ab="vvv" $abc="ooo"
$a="+++" $ab="vvv" $abc="ooo"
---
'$abc$abc' = $abc$abc
"$abc$abc" = oooooo
"${a}bc${ab}c" = +++bcvvvc
---
qq/$abc$abc/ = oooooo
qq/"$abc$abc"/ = "oooooo"
qq/"${abc}${ab}c"/ = "ooovvvc"
qq/"${a}bc$abc"/ = "+++bcooo"
qq/"$a" "$ab" "$abc"/ = "+++" "vvv" "ooo"

コマンドライン引数を個々にダブルクォーテーションで括って、
hoge.batみたいなファイルをたくさん書き出して、
ダブルクリックですべて実行すると、バッチ処理が並列で行われて便利。

おしまい。

Leave a Comment