Вопрос

I understand how to remove carriage returns from the ends of strings -- but I'm running into an issue in a Perl script of mine where a carriage return is found before the string.

For example, my script searches for strings which start with an exclamation mark, but a line that causes problems in my script is: ^C!

Is there any way to remove this?

Это было полезно?

Решение

^C is not the cat -v representation of carriage return, but of ETX, maybe that's the source of your confusion. s/\cC// will remove it.

Check with Devel::Peek::Dump from within Perl or uniquote from outside for other invisible characters.

Другие советы

you could use a regexpr to clean that characters:

$line =~ s/^[^!]//;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top