Как я могу конвертировать обратные косые черты в прямом слеш в Perl - PullRequest
0 голосов
/ 22 июля 2011

Я беру одну переменную $var2="\\hydfs00\PUBLIC1\DEV\pkumar\ITT_TEST_BUILD\CS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated";

и хочу изменить ее на

$var2="//hydfs00/PUBLIC1/DEV/pkumar/ITT_TEST_BUILD/CS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated";

Я использую синтаксис $var2 =~ s/\\/\//g; для изменения этого.но вывод идет как /hydfs00PUBLIC1DEVpkumarITT_TEST_BUILDCS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated

, пожалуйста, помогите мне.

1 Ответ

8 голосов
/ 22 июля 2011

"\\hydfs00\PUBLIC1\DEV\pkumar\ITT_TEST_BUILD\CS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated" это ошибка:

Unrecognized escape \P passed through at …
Unrecognized escape \D passed through at …
Unrecognized escape \p passed through at …
Unrecognized escape \I passed through at …
Unrecognized escape \C passed through at …

Оценивается \hydfs00PUBLIC1DEVpkumarITT_TEST_BUILDCS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated.

Вы хотите заключить в кавычки строку , чтобы ограничить экранирование обратной косой чертой только обратными слешами и одинарными кавычками. '\\hydfs00\PUBLIC1\DEV\pkumar\ITT_TEST_BUILD\CS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated' оценивается как \hydfs00\PUBLIC1\DEV\pkumar\ITT_TEST_BUILD\CS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated.

Давайте сначала избежим обратной косой черты, поэтому мы получим две обратной косой черты. '\\\\hydfs00\PUBLIC1\DEV\pkumar\ITT_TEST_BUILD\CS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated' оценивается как \\hydfs00\PUBLIC1\DEV\pkumar\ITT_TEST_BUILD\CS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated. Это строка, которую вы намеревались.

Теперь мы можем оперировать со значением.

my $var = '\\\\hydfs00\PUBLIC1\DEV\pkumar\ITT_TEST_BUILD\CS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated';
$var =~ s{ \\ }{/}gx; # replace any single backslash with a single slash
# $var now has the value
# //hydfs00/PUBLIC1/DEV/pkumar/ITT_TEST_BUILD/CS2.1_PROD_TEST_40550_LG_LC_Java_sp36_obfuscated

Это все новички. Иди изучай язык , читай одну или две книги .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...