http://qs1969.pair.com?node_id=1022435


in reply to Re: Find pieces of text in a file enclosed by `@` and replace the inside
in thread Find pieces of text in a file enclosed by `@` and replace the inside

Hi Ken, I on a sco-6 machine and that machine doens't have coding for cyrillic.
  • Comment on Re^2: Find pieces of text in a file enclosed by `@` and replace the inside

Replies are listed 'Best First'.
Re^3: Find pieces of text in a file enclosed by `@` and replace the inside
by kcott (Archbishop) on Mar 08, 2013 at 19:50 UTC

    That would have been useful information to have provided upfront. Perhaps you'd care to update your initial post with this limitation. You can still do the transliteration - this code produces the same output as my previous solution:

    $ perl -Mstrict -Mwarnings -e ' binmode STDOUT => ":utf8"; my $subs = join q{} => map chr, 0x430, 0x431, 0x446, 0x410, 0x411, + 0x426; while (<>) { s/@([^@]+)@/"\$_ = \$1; y{abcABC}{$subs}; \$_"/eeg; print; } '

    -- Ken

      Hi Ken, tested your code, but got an error on the second word surrounded by '@'. Error: panic: sv_pos_b2u: bad byte offset at .....etc.

        I provided this as "a commandline example". It works fine with my computer. You stated, in response to my last post, that you have an issue with Cyrillic characters on your machine; however, you have neither updated your OP with this information nor addressed how you were planning to view the expected (Cyrillic) output. I am unable to reproduce the problem you're experiencing on your "sco-6 machine".

        -- Ken