#!/usr/bin/perl use 5.014; my ($file, $size) = @ARGV; open my $pgm, '-|', convert => ( -compress => 'none', '+distort' => SRT => '0,0 1,.56 0', -thumbnail => $size || '66x23', $file => 'pgm:-' ) or die $!; <$pgm> eq "P2\n" or die "ascii pgm input required\n"; <$pgm>; <$pgm>; # ignore depth, dimensions my @ch = split //, " .:coO@"; while (<$pgm>) { print $ch[ $_ * @ch >> 8 ] for /\d+/g; print $/; }