Perl: Formatting String
In Perl, if you want to print arrays or hashes for later reading into Perl program, you'll need to use “Data::Dumper” module.
#-*- coding: utf-8 -*- # perl use Data::Dumper; $Data::Dumper::Indent = 0; # set it to print in a compact way @ss = (3, 4, 5); %ss = qw(mary 17 joe 18 alice 19); # qw for autoquote, same as ('mary' => 17, 'joe' => 18, 'alice' => 19) print Dumper(\@ss), "\n"; # $VAR1 = [3,4,5]; print Dumper(\%ss), "\n"; # $VAR1 = {'joe' => 18,'alice' => 19,'mary' => 17};
For formatting strings, you can use “sprintf”, which is like other language's “format”.
Or, you can use “printf”, which is equivalent to print sprintf(FORMAT, LIST)
.
#-*- coding: utf-8 -*- # perl # integer printf '%d', 1234; # 「1234」 print "\n"; # padding by space printf '%4d', 12; # 「 12」 print "\n"; # float. 2 integer, 4 decimal printf '%2.4f', 3.123456789; # 「3.1235」 print "\n"; # string. printf '%5s', 'cats'; # 「 cats」 print "\n"; printf '%2s', 'cats'; # 「cats」 print "\n"; printf ('%2d◇%6d◇%2.4f◇%s', 1234, 5678, 3.1415926, 'cats'); # prints 「1234◇ 5678◇3.1416◇cats」