#!/usr/bin/perl #replace_selected #test @ mi2.1.6 #tab to space #¥؟¥ضة‎4 use strict; use Encode qw(from_to); my $inText = $ARGV[1]; &from_to( $inText, 'utf-8', 'euc-jp' ); my @lines = split( /\r/, $inText ); foreach my $line ( @lines ) { my $lastTabOffset = 0; my @spaceCountArray = reverse( 1 .. 4); my $spaceCount; $line =~ s{([^\t]*)\t}{ $lastTabOffset += length( $1 ); $spaceCount = $spaceCountArray[ $lastTabOffset % 4]; $lastTabOffset+=$spaceCount; $1 . ( ' ' x $spaceCount )}eg; } my $outText = join( "\r", @lines ); #&from_to( $outText, 'euc-jp', 'shiftjis' ); print $outText;