Есть ли библиотека php, которую я могу использовать для преобразования ассоциативного массива в perl в ассоциативный массив в php? Если нет, есть ли какой-либо рекомендуемый способ сделать это? Обычные выражения ? Куча взрывов и взрывов звонков?
Я хочу перейти от
my %arrayname = ( key1 => "Value1", key2 => "Value2", key3 => "Value3", ...
в
$arrayname = array( "key1" => "Value1", "key2" => "Value2", "key3" => "Value3",
Если у вас есть Perl на вашем сервере, вы используете:
print 'Array('; while (($key, $val) = each(%arrayname)) { print "'$key' => '$val',"; } print ');';
Вы также можете взглянуть на пакет PECL Perl , эта библиотека интегрирует Perl-парсер в PHP.
Вы можете использовать онлайн-интерпретатор Perl с примером кода и работать (в конце есть только одна дополнительная запятая).
Я создал регулярное выражение, которое почти работает. Вы можете попробовать, но это зависит от структуры массива Perl:
preg_match_all(#\%(.+)\s=|\n(.+).*#);
Пример данных:
my %arrayname = ( key1 => "Value1", key2 => "Value2", key3 => "Value3" )
Вы можете протестировать его с помощью инструмента тестирования регулярных выражений .