Perl 入门 之 基础类型

xiaoxiao2021-02-27  186

#! /usr/bin/perl use warnings; use diagnostics; # 1.编译指示,给perl的一个提示,在程序开始之前的语法验证阶段会发挥作用, # 脚本语句实际执行的时候,对运行结果没有影响 use utf8; require 5.22.2; #2.变量 共有三类:标量(scalar)、数组(array)、哈希(hashes) #2.1 Scalar variables $what = "your name"; $n = 3; print "what is $what ?\n"; print "what is ${what}s $n?\n"; # others 特殊符号 $alef = chr(0x05D0); $alpha = chr(hex('03B1')); $omega = chr(0x03C9); print "$alef,"; print "$alpha,"; print "$omega \n"; #booleans perl 没有内置布尔类型。if语句中,scalar变量仅在一下情况被认为是“false” #undef #数值 0 #字符串 ”” #字符串 “0” my $undef = undef; print $undef,"\n"; #弱类型 #无法判定一个scalar包含的是一个数值还是字符串。 #因为这完全是取决于 运算符的。 my $str1 = "4G"; my $str2 = "4H"; print $str1 . $str2,"\n"; # "4G4H" print $str1 + $str2,"\n"; # "8" 并且抛出两个警告 print $str1 eq $str2,"\n"; # "" (空字符串,也就是false) print $str1 == $str2,"\n"; # "1" 并且抛出两个警告 # 经典错误 print "yes" == "no"; # "1" 并且抛出两个警告,按数值方式参与运算,两边求值结果都是0 # 在恰当的情况下使用正确的运算符,对于比较数值和字符串有两套不同的运算符: # 数值运算符: <, >, <=, >=, ==, !=, <=>, +, * # 字符串运算符: lt, gt, le, ge, eq, ne, cmp, ., x #2.2 array variables # Array变量是包含一个scalar列表的、由从0开始的整形数为下标存取的变量。 # 在Python里被称为list,而在PHP里被称为array。数组可以用一个圆括号包围的scalar列表来声明 my @array = ( "print", "these", "string", "out", "for", "me" ); for (my $var = 0; $var < 7; $var++) { print $array[$var]," "; } print "\n"; #length of array print "this array has ".(scalar @array)." elements \n"; print "The last populated index is ".$#array."\n"; # reverse output for (my $var = -1; $var >=-7; $var--) { print $array[$var]," "; # body... } print "\n"; # 当@当做邮箱地址使用时,要注意进行转义,或者将双引号改为单引号 print "Hello \$string","\n"; # "Hello $string" print 'Hello $string',"\n"; # "Hello $string" print "\@array","\n"; # "@array" print '@array',"\n"; # "@array" #hash variables my %architecture = ( "Tesla" => "first generation", "Fermi" => "second generation", "Kepler" => "third generation", "Maxwell" => "fourth generation", "Pascal" => "fifth generation", ); print "Fermi is ".$architecture{"Fermi"}." of Nvidia GPU architecture !\n"; #You can convert a hash straight to an array with twice as many entries, alternating between key and value my @architecture = %architecture; print "@architecture \n"; #use square brackets to retrieve a value from an array, but you have to use braces to retrieve a value from a hash. my $data = "orange"; my @data = ("purple"); my
转载请注明原文地址: https://www.6miu.com/read-15221.html

最新回复(0)