perl- все статьи тега


Почему я получаю предупреждения "переопределить" с помощью "использовать константу" в mod perl?

Я запускаю CGI-скрипт с apache2, и у меня есть эта строка предупреждения об ошибке.log (я удалил все подобные строки из выходных данных): [Thu Jul 30 09:39:37 2009] upload.pl: Constant subroutine ModPerl::ROOT::ModPerl::Registry::home_stanislav_cgi_perl_upload_2epl::UPLOAD_DIR redefined at /usr/share/perl/5.10/constant.pm line 115, line 133. Constant subroutine ModPerl::ROOT::ModPerl::Registry::home_stanislav_cgi_perl_upload_2epl::BUFFER_SIZE redefined at /usr/share/perl/5.10/constant.pm ...

Как напечатать хэш-имя в Perl?

Вроде бы простой вопрос, но он ставит меня в тупик, и google просто вводит меня в заблуждение. Все, что я хочу сделать, это распечатать имя хэша. Например: &my_sub(%hash_named_bill); &my_sub(%hash_named_frank); sub my_sub{ my $passed_in_hash = shift; # do great stuff with the hash here print "You just did great stuff with: ". (insert hash name here); } Часть, которую я не знаю, - это как получить материал в скобках (вставка...). Для вложенного хэша вы можете пр ...

Sed или awk заменить все узоры из другого файла

Я пытаюсь сделать замену шаблона с помощью скрипта SED, но он не работает должным образом Sample_content.txt 288Y2RZDBPX1000000001dhana JP2F64EI1000000002d EU9V3IXI1000000003dfg1000000001dfdfds XATSSSSFOO4dhanaUXIBB7TF71000000004adf 10Q1W4ZEAV18LXNPSPGRTTIDHBN1000000005egw Паттерны.txt 1000000001 9000000003 1000000002 2000000001 1000000003 3000000001 1000000004 4000000001 1000000005 5000000001 Ожидаемый результат 288Y2RZDBPX9000000003dhana JP2F64EI2000000001d EU9V3IXI3000000001dfg90 ...

Как вывести цветной вывод на терминал в Python?

Существует ли какой-либо эквивалент python для perl print color 'red'; print <something>; print color 'reset'; Доступно в python? Я знал решение; "x1b[1;%dm" % (<color code>) + "ERROR: log file does not exist" + "x1b[0m" То, что я хочу, это я должен быть в состоянии установить цвет для всех печатных сообщений, таких как, print color 'red' function_print_something(<some message>) print color 'reset' Здесь 'function_print_something' - это моя функция python, котора ...

Синтаксическая ошибка Perl: Bareword найден там, где ожидался оператор

Как следует из названия, как я мог бы это сделать? Я следую учебнику, но получаю синтаксическую ошибку: Bareword found where operator expected at arrays_and_variables.pl line 26, near "$2names" (Missing operator before names?) syntax error at arrays_and_variables.pl line 26, near "$2names " Execution of arrays_and_variables.pl aborted due to compilation errors. Код, который у меня есть до сих пор: @names = ('james','dylan','max'); # join elements of array into a schalar variable. ...

Понимает ли сейф Perl новые функции?

Я играю с модулем Safe для включения в освоение Perl. Версии до версии v5. 16 (самая ранняя поддерживаемая версия), похоже, не понимают новых ключевых слов. Я что-то упустил? Say работает с v5. 16 и позже use v5.10; use Safe; say "Running $0 under $^V with Safe ", Safe->VERSION; my $compartment = Safe->new; $compartment->permit( ':base_io', ':load' ); my $code =<<"CODE"; use v5.10; say "Hello Safe!"; CODE $compartment->reval( $code ) or do { my $error = $@; ...

Почему Perl DBI экранирует значения, полученные из MySQL?

У меня есть значение в MySQL, которое содержит Апостроф (’) и многоточие (...): $ /bin/echo "select alias from url_alias where source = 'node/12024'" | mysql --skip-column-names -D cat36ia_d7prod Вывод: forum/technical-discussion/nagging-questions-i’ve-been-too-embarrassed-ask… Когда я получаю значение с помощью Perl DBI и DBD::mysql, значение было изменено: $ perl -MDBI -MDBD::mysql -e '$dbh=DBI->connect( "DBI:mysql:database=my_db",nick ); $v=$dbh->selectrow_arr ...

Как я могу определить IP-адреса локальной машины из Perl?

Существует ли чистый и независимый от операционной системы способ определения IP-адресов локальной машины из Perl? До сих пор я нашел следующие решения: Анализ выходных данных ifconfig и ipconfig (жесткий диск, разные версии windows имеют разные выходные данные ipconfig) Установите сетевое соединение с известным IP и проверьте локальный IP-адрес сокета (не будет работать, если я не могу установить соединение и определю только один IP адрес) Есть предложения получше? ...

Получение серийного номера CPU ID в Perl для win32

Как получить серийный номер процессора или уникальный идентификатор процессора в perl для windows machine без использования каких-либо модулей, возможно, используя syscalls или что-то еще? ...

Perl / curl как получить код состояния и тело ответа

Я пытаюсь написать простой perl-скрипт, который вызывает и API, и если код состояния 2xx, то сделайте что-нибудь с ответом. В то время как если это 4xx или 5xx, то сделайте что-нибудь еще. Проблема, с которой я сталкиваюсь, заключается в том, что я могу либо получить код ответа (используя пользовательский формат записи и передавая выходные данные куда-то еще), либо я могу получить весь ответ и заголовки. my $curlResponseCode = `curl -s -o /dev/null -w "%{http_code}" ....`; Даст мне только ...

Как я могу избавиться от ошибки "Can't locate object method" warn "via package" sssself " в IE::Mechanize?

Я играю с Win32:: IE:: Mechanize. Я пытаюсь создать скрипт для автоматического доступа к шести моим учетным записям электронной почты в интернете. Скрипт в основном работает, но perl выдает своего рода загадочную ошибку "не удается найти метод объекта "warn" через пакет "sssself" (возможно, вы забыли загрузить " sssself)". Несмотря на ошибку, сценарий все еще может выполнить работу. Но я хочу избавиться от этого и понять, почему это происходит. Ниже приведен сценарий. Пожалуйста добросердечно co ...

Разбить строку на массив в Perl

my $line = "file1.gz file2.gz file3.gz"; my @abc = split('', $line); print "@abcn"; Ожидаемый результат: file1.gz file2.gz file3.gz Я хочу, чтобы выход был file1.gz в $abc[0], file2.gz в $abc[1] и file3.gz в $abc[2]. Как мне разделить $line? ...

Простой способ сортировки на основе значений в хэше в perl

Обычно сортировку по ключам и последующую итерацию хэша можно выполнить следующим образом: for $k (sort (keys %h)) { print $k, $h{$k}; } Но как сделать сортировку на основе значений, а затем перебирать хэш? Я могу придумать, как создать новый хэш, поменяв местами пары ключей и значений. Но есть ли более умный способ сделать это? Большое спасибо. ...

с помощью команды grep в Linux с Perl регулярных выражений + захват группы

Итак, я провел некоторые исследования на эту тему, и я не совсем нашел идеальное решение. Например, у меня есть строка внутри переменной. var="a1b1c2" Теперь то, что я хочу сделать, это сопоставить только "a", следующий за любой цифрой, но я хочу, чтобы он только вернул число после "a" Чтобы соответствовать ему правило, такое как 'ad' И поскольку мне нужна только цифра, я попробовал с 'a(d)' И, возможно, он действительно захватил его где-то, но я не знаю, где, выход здесь все еще "a1 ...

Bash, Perl или Sed, вставить в новую строку после найденной фразы

Хорошо, я думаю, мне нужно что-то, что будет делать следующее: Найдите эту строку кода в /var/lib/asterisk/bin/retrieve_conf: $engineinfo = engine_getinfo(); Вставить следующие две строки: $engineinfo['engine']="asterisk"; $engineinfo['version']="1.6.2.11"; Заранее спасибо, Джо ...

Удалить расширение файла и путь из строки в Perl

Я хочу получить имя файла без его пути (если он является частью строки), а также расширение. Например: /path/to/file/fileName.txt # results in "fileName" fileName.txt # results in "fileName" /path/to/file/file.with.periods.txt # results in "file.with.periods" Итак, в принципе, я хочу удалить все, что было до и включая последнее "/", если оно присутствует, а также последнее ".- вместе с любыми метасимволами после него. Извините за такой вопрос новичка, но я новичок ...

Perl: статические методы vs Package

Мне нужно создать пакет, который будет использоваться другими разработчиками. Как лучше всего реализовать статические методы? Для статических методов (класса) я должен ожидать 1-й параметр $class, и метод должен быть вызван как метод класса: My::Package->Sub1(); С другой стороны, я могу написать "обычную" подпрограмму пакета (не ожидаемый параметр $class), которая будет прекрасно делать то же самое, но должна быть вызвана по-другому My::Package::Sub1(); Итак, в принципе нет никакой ра ...

Регулярное выражение Notepad++ заменяет именованные группы

Я пытаюсь заменить полное имя автора на название статьи У меня есть список статей, подобных этому: Альбершейн П., Невис Д. Дж. метод анализа сахаров в полисахаридах клеточной стенки растений методом газожидкостной хроматографии/ / исследования углеводов. - 1967 год. – Том. 5, № 3. - Да. 340-345. И у меня есть регулярное выражение для него (?'n1'^d{3}. )(?'n2'(?:(?:[A-ZА-Я][-a-zćа-я ]+)?([A-ZА-Я][-a-zćа-я]+xA0[A-ZА-Я].(?:xA0[A-ZА-Я].){0,2},?)(?: [et al])? ?)+)(?'n3' [^/]+[ ...

Каков наиболее простой способ заполнения пустых дат в результатах sql (на любом конце mysql или perl)?

Я строю быстрый csv из таблицы mysql с запросом типа: select DATE(date),count(date) from table group by DATE(date) order by date asc; И просто сбрасывает их в файл в perl через a: while(my($date,$sum) = $sth->fetchrow) { print CSV "$date,$sumn" } Однако в данных есть пробелы в датах: | 2008-08-05 | 4 | | 2008-08-07 | 23 | Я хотел бы дополнить данные, чтобы заполнить недостающие дни записями с нулевым счетом, чтобы в итоге получить: | 2008-08-05 | ...

Как читать каталоги и подкаталоги, не зная имени каталога в perl?

Привет я хочу читать каталоги и подкаталоги, не зная имени каталога. Текущий каталог-это "D:/Temp". 'Temp' имеет подкаталоги типа 'A1','A2'. Опять же 'A1' имеет подкаталоги типа 'B1','B2'. Опять же 'B1' имеет подкаталоги типа 'C1','C2'. Perl script не знает этих каталогов. Поэтому он должен сначала найти каталог, а затем прочитать один файл за раз в dir 'C1', как только все файлы будут прочитаны в 'C1', он должен измениться на dir 'C2'. Я пробовал с кодом ниже здесь я не хочу читать все файлы в ...