for (589840, 117506056, 134225920, 671555840, 534280, 1058576, 654911248, 151718157, 269160461, 168496907, 168627981) { ($x, $y, $v, $w) = unpack "c*", pack "l", $_; $e = $v - $x; $g = $w - $y; $h = abs $e; $k = abs $g; $d = $h > $k; for (0..(($d) ? $h : $k)) { $f += $d ? $g/$e : $e/$g; $f1 = $f; int $f && do { $y += $d ? ($g > 0 ? 1 : -1) : 0; $x += $d ? 0 : ($e > 0 ? 1 : -1); $f += $f > 0 ? -1 : 1 }; $c[$y] ||= ' ' x 60; substr($c[$y],$x+1,1) = abs $f1 >= 1 ? $f1 > 0 ? "\\" : "/" : $d ? "-" : "|"; $d ? ($x += $e>0 ? 1 : -1) : ($y += $g>0 ? 1 : -1); } } $" = "\n"; print"@c\n"; __END__ The following is the picture data in heximal format, Each number is x1,y1,x2,y2. 0x00090010, 0x07010008, 0x08002000, 0x28072100, 0x00082708, 0x00102710, 0x27092710, 0x090B090D, 0x100B100D, 0x0A0B0F0B, 0x0A0D0F0D