Re: [問題] 關於上下左右轉換的問題
※ 引述《handsomegirl (薰)》之銘言:
: #########################################
: 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
: 10 E E F F E .
: 11 8 F 2 2 2 2 2 2 2 E 2 F 2 2 2 E E E E
: 12 9 9 2 2 2 2 2 2 2 2 2 E E 2 2 E 2 2 E E
: 13 F 2 F 2 F F 2 2 2 2 2 E 2 F 2 2 2 2 E 2 E E
: 14 8 2 2 2 2 2 2 2 2 2 2 2 2 2 F E 2 E E E E E
: 15 2 2 2 2 2 2 2 2 2 2 2 2 2 E 2 E E E E E E E
: 16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
: 17 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 F 2
: 現在我有這樣一個圖
: 然後黃色的數字因為代表行列所以不希望改變
: 其他的部份除了上下顛倒之外,我還希望左右相反
: 等於把整個圖做180度的旋轉
: 我目前的想法是先辦認前面的行列,把它視為INDEX
: 再把後面的做REVERSE
: 只是再來就遇到一些瓶頸
: 不曉得有沒有什麼好方法~
: 懇請高手來解答,謝謝~
1.先讀取前三行
然後讀取剩下的
open FP,"test.txt" or die $!;
$row=<FP>.<FP>.<FP>;
@text=<FP>;
close FP;
2.把 行首跟內文分開
foreach(@text)
{
push @column,substr $_, 0, 3;
push @content,substr $_, 3,-1;
}
3.印出來
print "$row";
foreach(0...$#content)
{
print $column[$_], reverse_x($content[$#content-$_]), "\n";
}
sub reverse_x
{
my $i = shift;
join '', reverse unpack 'a ' x length $i,$i;
}
黃字部份 $#content-$_ 表示反轉 , 改成 $_ 就是不轉啦
reverse_x 最後那個join '', 把array連起來 然後再印出來那邊
其實不用join結果也一樣 端看你後來要怎麼處理或是顯示
--
我剛剛才去看unpack怎麼用XD 不是高手:p
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.197.133
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章