2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Perl subroutine
Сообщение25.05.2016, 00:11 
Аватара пользователя
Кто знает, как в затолкать в список параметров субрутины/процедуры имя файла для выходных данных?

Код:
#!/usr/bin/perl
#use strict;
#use warnings;

open(OUT, ">$ARGV[0]");

sub printfirsttwo
{
   print $_[0] "Your first argument was $_[1]\t";
   print $_[0] "and $_[2] was your second\n";
}



То есть мне нужно, чтобы при при вызове процедуры
Код:
&printfirsttwo("OUT","Alpha","Beta","three");

в файле "outputA.txt" было написано "Your first argument was Alpha and Beta was your second"

Гугл даёт кучу ссылок на примеры, но нужного не нашел.

 
 
 
 Re: Perl subroutine
Сообщение25.05.2016, 01:07 
Код:
#! /usr/bin/perl
use strict;
use warnings;

open(OUT, ">$ARGV[0]");

sub printfirsttwo
{
  my $out = $_[0];
  print $out "Your first argument was $_[1]\t";
  print $out "and $_[2] was your second\n";
}

printfirsttwo(*OUT,"Alpha","Beta","three");

 
 
 
 Re: Perl subroutine
Сообщение25.05.2016, 02:05 
Аватара пользователя
venco,

Спасибо! Сейчас нет возможности проверить, позже доложу.

Upd.

Кажется, работает! Спасибо еще раз.

 
 
 
 Re: Perl subroutine
Сообщение07.07.2016, 20:21 
Аватара пользователя
У мене новый вопрос по перлу. Есть строки вида

10А20Б25А85В45Г14А или, скажем, 50Е38А41Д

В общем, неопределенной длины наборы из цифр(целых чисел вообще говоря), разделенных различными буквами.
Как можно вытащить из строки ВСЕ числа стоящие перед буквой "А"? Желательно в виде вектора. Например, для первой строчки надо получить

[10,25,14]

а для второй [38].

А еще лучше, получить такие векторы для каждой буквы в строке.

 
 
 
 Re: Perl subroutine
Сообщение07.07.2016, 20:51 
Начните с этого:
Код:
  my $str = "10A20B25A85C45D14A";
  my $sym = "A";
  my @numbers = $str =~ m/([0-9]+)$sym/g;

 
 
 
 Re: Perl subroutine
Сообщение07.07.2016, 21:04 
Аватара пользователя
Работает!!
Спасибо большое venco, я Ваш должник!

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group