Perl: Formatting String

By Xah Lee. Date: . Last updated: .

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」

If you have a question, put $5 at patreon and message me.

Perl

  1. Perl Overview
  2. Version String
  3. Help System

Detail

  1. Quoting String
  2. Format String
  3. String Operations
  4. True, False
  5. if then else
  6. Loop
  7. List / Array
  8. Loop Thru List
  9. Map f to List
  10. List Comprehension
  11. Hash Table
  12. Function Optional Param
  13. regex

Text Processing

  1. Unicode 🐪
  2. Convert File Encoding
  3. Read Write File
  4. Traverse Dir
  5. Find Replace
  6. Validate Local Links
  7. Split Line by Regex

Advanced

  1. Sort List, Matrix, Object
  2. Sort Matrix
  3. Sort Unstable
  4. Sort Misc
  5. List Modules, Search Paths
  6. Write a Module
  7. Complex Numbers
  8. System Call
  9. gzip
  10. Get Env Var
  11. GET Web Content
  12. Email