ヒアドキュメントの中でPerlの式を書く


0N700id:TAKESAKO

Perl使使
my $foo = "bar";
my $tmp = time(); # ←関数の実行結果
print<<EOF;
  <div class="${foo}1">
    <h1>TIME: $tmp</h1>
  </div>
EOF


@{[ Perl ]}


@{[  ]} 使便
print<<EOF;
  <div class="${foo}1">
    <h1>TIME: @{[ time() ]}</h1>
  </div>
EOF


  <div class="bar1">
    <h1>TIME: 1229258525</h1>
  </div>

@{[  ]} Perl

 time() 


wantarray 
print<<EOF;
  <div class="${foo}2">
    <h1>TIME: @{[ localtime() ]}</h1>
  </div>
EOF


  <div class="bar2">
    <h1>TIME: 5 42 21 14 11 108 0 348 0</h1>
  </div>

"".localtime()  scalar localtime() 
print<<EOF;
  <div class="${foo}3">
    <h1>TIME: @{[ scalar localtime() ]}</h1>
  </div>
EOF


  <div class="bar3">
    <h1>TIME: Sun Dec 14 21:42:05 2008</h1>
  </div>

"@a\n"  $"


 @a  "@a\n"  join($",@a)."\n" 

$"  " "
 $" 
do {
  local $" = " x ";
  my @a = ('sin', 'cos', 'tan');
  print "@a\n";
};


sin x cos x tan

"@a\n"  "@{[  ]}\n" 
print "@{[ 'sin', 'cos', 'tan' ]}\n";

 @{[ ]} 使 @a 使

 @{[  ]} 使Perl


Perl
my $a = "AAA";
my $b = $a;
   $b =~ s/A/B/g;
print "'$a' => '$b',\n";


'AAA' => 'BBB',

$b = $a  ( )  =~ 1
my $a = "AAA";
( my $b = $a ) =~ s/A/B/g;

 =  $a 1
( my $b = my $a = "AAA" ) =~ s/A/B/g;

myPerl4

@{[  ]} 


map使
my ($b) = map { s/A/B/g; $_ } ("AAA");


Modification of a read-only value attempted at - line 1.

 Perl 

("AAA")  "AAA" read-only value

map  @{[]}


 @{[  ]} 
my ($b) = map { s/A/B/g; $_ } @{["AAA"]};

["AAA"]@{}

grep  s///


map  grep 使
my ($b) = grep s/A/B/g || 1, @{["AAA"]};

 || 1  s/// 
print join ":", grep s/A/B/g, @{["AAA", "ABC", "XXX", "A"]};


BBB:BBC:B

s/A/B/  "XXX" s  || 1 
print join ":", grep s/A/B/g || 1, @{["AAA", "ABC", "XXX", "A"]};


BBB:BBC:XXX:B

 id:miyagawa ;-)