У меня есть код ниже, чтобы заменить значение переменной и сохранить его в новой переменной и оставить исходную переменную неповрежденной.замените значение переменной и сохраните его в новой переменной
#!/usr/bin/perl
$hdisk="hdisk361";
($newdisk) = ($hdisk =~ s/(hdisk\D*)(\d+)/(($1 eq "hdiskpower"?"prw":"dsk").$2)/ei);
print "hdisk: $hdisk"."\n";
print "newdisk: $newdisk"."\n";
Это дает этот результат:
hdisk: dsk361
newdisk: 1
Я хочу выход так:
hdisk: hdisk361
newdisk: dsk361
Пожалуйста, помогите мне исправить этот код?
Please * always * include `use strict; используйте предупреждения, `вверху вашего кода. Это поймает много ошибок, на самом деле часто так много, что вам даже не нужно публиковать здесь. – Ether 2010-12-10 17:24:12