Perlゼミ

  1. Perl
  2. 数値
  3. 数値と文字列の自動変換

数値と文字列の自動変換

Perlでは、文字列と数値の自動変換が暗黙的に行われます。C言語やJavaのように明示的に文字列と数値の変換を行う必要がないので、スクリプトの記述が非常に楽です。

my $num1_str = "100";
my $num1 = 100;

my $num1_total = $num1_str + $num1;

文字列である"100"は数値として使用されると100に自動変換されて計算されます。

Perlがどのように文字列を数値として解釈するかを解説します。

my $num2_str = "34A11";

"34A11"は数値として使用されると34に変換されます。先頭から続く数値の部分が数値に変換されます。

use warnings; を記述しておくと数値だけで構成されない文字列を数値として使用しようとすると警告が行われます。

空文字列"" は、0として計算されます(この場合も数値ではないので警告が行われます)。

サンプル

数値と文字列の自動変換を確認するサンプルです。

use strict;
use warnings;

my $num1_str = "100";
my $num1 = 100;

my $num1_total = $num1_str + $num1;

print "(1)文字列から数値への自動変換\n";
print "\$num1_total = $num1_total\n\n";

# この文字列が数値として使用される場合は、34と
# として扱われる。
# use warningsを有効にしていれば数値として
# 使おうとすると警告になる。
my $num2_str = "34A11"; 

my $num2 = 3;

my $num2_total = $num2_str + $num2;

print "(2)先頭から続く数字を使って計算される。\n";
print "\$num2_total = $num2_total\n";
Perlの書籍
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「こっ、こしゃくな。
このPerオタクめ~!」

Twitter
フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

木本システム株式会社
ご紹介キャンペーン実施中です。契約金額の10%をご紹介料としてお支払い。

(例)30万円のシステム開発委託契約が、1年続いたら、36万円がもらえる!!!